es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo definir el tipo enum anidado en el esquema de GraphQL.

Tengo un enum definido en el schema de GraphQL como sigue:

enum QueryType {
    NORMAL, RANGE, REGEX, WILDCARD
}

Pero la consulta WILDCARD se puede especificar aún más como STARTSWITH, ENDSWITH y CONTAINS,

¿Podemos lograr algo como lo siguiente al definir el Schema?

 enum QueryType {
        NORMAL, RANGE, REGEX, enum WILDCARD { STARTSWITH, ENDSWITH, CONTAINS}
    }

o

 enum QueryType {
            NORMAL, RANGE, REGEX, WILDCARD: WildCardType
        }
   enum WildCardType { STARTSWITH, ENDSWITH, CONTAINS}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en Java y GraphQL, diría que la forma preferida de lograr el resultado deseado sería la segunda opción:

    enum QueryType {
       NORMAL, RANGE, REGEX, WILDCARD: WildCardType
    }
    enum WildCardType { STARTSWITH, ENDSWITH, CONTAINS}
    

    Al definir WILDCARD como un tipo de enumeración separado, podemos usarlo como un campo en la definición de nuestro esquema. Este enfoque también nos permite extender fácilmente la enumeración WILDCARD en el futuro si es necesario, sin tener que modificar la definición de QueryType.

    Si bien la primera opción técnicamente funciona, puede generar confusión y no es tan limpio como definir un tipo de enumeración separado.

    En general, el uso de enumeraciones en GraphQL es una excelente manera de garantizar que la entrada de nuestra API esté fuertemente tipada y bien definida, al tiempo que brinda flexibilidad y capacidad de extensión.

Comments are closed.