Les contrôleurs GraphQL
Les contrôleurs GraphQL sont des contrôleurs classiques REST qui sont personnalisés. Ces contrôleurs sont détectés par l’AnnotatedControllerConfigurer. Nous indiquons qu’une méthode du contrôleur correspond à un champ de requête via l’utilisation de l’annotation @QueryMapping. La requête est déterminée à partir du nom de la méthode si celle-ci n’est pas spécifiée en paramètre de l’annotation. AnnotatedControllerConfigurer
@Controller
public class BonjourController {
@QueryMapping
public String bonjour() {
return "Bonjour à vous!";
}
}
Le RuntimeWiring.Builder est utilisé pour enregistrer en tant que graphql.schema.DataFetcher la requête nommée "bonjour".
@SchemaMapping
Il est possible de personnaliser le nom du type parent et le nom du champ dans l’annotation @SchemaMapping :
@Controller
public class LivreController {
@SchemaMapping(typeName="Livre", field="auteur ")
public Auteur getAuteur(Livre livre) {
// ...
}
}
L’annotation peut être déclarée...