Référence complète des annotations

Guide complet de toutes les annotations GraphQL AutoGen

16 annotations pour couvrir tous vos besoins GraphQL


📚 Table des matières

🏷️ Annotations de Types

@GraphQLType

Transforme une classe Java en type GraphQL. C'est l'annotation fondamentale pour exposer vos entités via GraphQL.

Exemple
@Entity
@GraphQLType
public class Product {
    @Id @GeneratedValue
    private Long id;

    private String name;
    private Double price;

    // Getters et setters
}

🔍 Annotations de Champs

@GraphQLField

Personnalise un champ GraphQL ou l'inclut explicitement (lorsque l'inclusion automatique est désactivée).

Exemple
@GraphQLType
public class Product {
    @GraphQLField(description = "Identifiant unique du produit")
    private Long id;

    @GraphQLField(name = "productName")
    private String name;

    // Autres champs
}

⚡ Annotations d'Opérations

@GraphQLQuery

Expose une méthode comme requête GraphQL dans le schéma.

Exemple
@RestController
public class ProductController {
    private final ProductRepository productRepository;

    @GraphQLQuery
    public List getAllProducts() {
        return productRepository.findAll();
    }

    @GraphQLQuery(name = "product")
    public Optional getProductById(@GraphQLArgument Long id) {
        return productRepository.findById(id);
    }
}

📖 Conventions et Bonnes Pratiques

Pour une utilisation optimale des annotations GraphQL AutoGen, suivez ces conventions et bonnes pratiques :

  • Nommage cohérent - Utilisez des noms clairs et significatifs pour vos types et champs.
  • Documentation complète - Ajoutez toujours des descriptions à vos types et champs pour améliorer l'autodocumentation du schéma.
  • Types non-nullables - Par défaut, considérez tous les champs comme non-nullables sauf indication contraire.
  • Architecture par domaines - Organisez vos requêtes et mutations par domaines métier pour une meilleure maintenabilité.