Concevoir une API REST avec spécification OpenAPI

Concevez une API REST cohérente : ressources, endpoints, codes de statut, format d’erreur, pagination, versionnage et extrait OpenAPI 3.1. Conçu pour ChatGPT, Claude et Gemini. Il comprend 5 variables personnalisables et vous pouvez le copier gratuitement en un clic.

Avancé · Code · En attente de relecture éditoriale

Prompt

Agis comme un architecte d'API expérimenté dans la conception d'API REST publiques utilisées par des tiers.

Je construis l'API de {{product}}.
Principaux consommateurs : {{consumers}}.
Entités et relations connues : {{entities}}.
Exigences non fonctionnelles : {{requirements}}.

Livre, dans cet ordre :
1. Le modèle de ressources : la liste des ressources, leurs attributs clés, leurs relations et l'identifiant utilisé par chacune.
2. Un tableau des endpoints (méthode, chemin, description, authentification requise, codes de statut possibles). Utilise des noms au pluriel, un seul niveau d'imbrication au maximum, et justifie les actions qui ne relèvent pas du CRUD.
3. Les conventions : nommage des champs ({{naming_convention}}), dates ISO 8601 en UTC, pagination par curseur, filtrage, tri et champs partiels (sparse fieldsets).
4. Un format d'erreur unique fondé sur la RFC 9457 (Problem Details), avec des exemples pour 400, 401, 403, 404, 409, 422 et 429.
5. La stratégie de versionnage, l'idempotence (en-tête `Idempotency-Key` sur les POST) et le contrôle de concurrence (ETag / If-Match).
6. La sécurité : schéma d'authentification, portées de permissions (scopes) et limites de débit.
7. Un extrait YAML OpenAPI 3.1 couvrant les deux ressources principales, leurs schémas et des réponses d'erreur réutilisables dans `components`.
8. Les risques de conception et les décisions à revoir avec l'équipe.

Contraintes :
- N'invente pas de règles métier : si quelque chose n'est pas clair, marque-le [À COMPLÉTER] et pose-moi la question.
- Privilégie la cohérence plutôt que la créativité.

Comment l'utiliser

  1. Listez les entités que vous connaissez déjà, même approximativement.
  2. Indiquez qui consommera l’API (application mobile, partenaires, intégrations internes).
  3. Relisez le tableau des endpoints avant de demander la spécification OpenAPI complète.
  4. Importez le YAML dans Swagger Editor ou Stoplight pour le valider.

Exemple d'utilisation

Produit : plateforme de prise de rendez-vous pour cliniques · Consommateurs : application mobile et partenaires · Entités : clinique, praticien, patient, rendez-vous.

Exemple de résultat

2. Endpoints (extrait)

MéthodeCheminDescriptionAuthCodes
GET/clinics/{clinic_id}/practitionersPraticiens d'une cliniqueclinics:read200, 401, 404
POST/appointmentsCréer un rendez-vousappointments:write201, 409, 422
POST/appointments/{id}/cancelAnnuler (action non CRUD : conserve l'historique)appointments:write200, 409

7. OpenAPI 3.1 (extrait)

openapi: 3.1.0
info: { title: Clinic Booking API, version: 1.0.0 }
paths:
  /appointments:
    post:
      parameters:
        - { in: header, name: Idempotency-Key, required: true, schema: { type: string, format: uuid } }
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/Appointment' }
      responses:
        '201': { description: Rendez-vous créé }
        '409': { $ref: '#/components/responses/Problem' }
        '422': { $ref: '#/components/responses/Problem' }
components:
  schemas:
    Appointment:
      type: object
      required: [practitioner_id, patient_id, starts_at]
      properties:
        id: { type: string, readOnly: true }
        practitioner_id: { type: string }
        patient_id: { type: string }
        starts_at: { type: string, format: date-time }
  responses:
    Problem:
      description: Erreur au format RFC 9457
      content:
        application/problem+json:
          schema: { type: object, properties: { type: { type: string }, title: { type: string }, status: { type: integer }, detail: { type: string } } }

Les statuts d'un rendez-vous et la politique d'annulation sont des règles métier : [À COMPLÉTER] avant de figer l'enum status…

Informations clés

Catégorie
Programmation et développement · API
Type de résultat
Code
Niveau
Avancé
Conçu pour
ChatGPT, Claude et Gemini
Vérifié sur
En attente de vérification éditoriale
Variables
Produit, Consommateurs, Entités, Exigences non fonctionnelles et Convention de nommage
Langue
Français
Prix
Gratuit, sans inscription
Mis à jour
07/11/2026

Questions fréquentes

Pagination par curseur ou par page/décalage ?

Les curseurs restent stables quand les données changent et passent mieux à l’échelle sur les grandes tables. Le décalage (offset) est plus simple pour des écrans d’administration internes qui sautent à une page précise. Le prompt utilise les curseurs par défaut, mais vous pouvez demander l’autre option.

Puis-je générer du code serveur à partir de la spécification OpenAPI ?

Oui. Des outils comme OpenAPI Generator créent des squelettes de serveur et des clients dans de nombreux langages. Complétez et validez d’abord la spécification.

À quoi sert ce prompt ?

Concevez une API REST cohérente : ressources, endpoints, codes de statut, format d’erreur, pagination, versionnage et extrait OpenAPI 3.1.

Avec quels outils d'IA fonctionne-t-il ?

Il est conçu pour ChatGPT, Claude et Gemini. Nous ne l'avons pas encore vérifié sur ces outils ; les résultats peuvent donc varier de l'un à l'autre.

Comment personnaliser le prompt ?

Cliquez sur « Personnaliser » et remplissez les variables (Produit, Consommateurs, Entités, Exigences non fonctionnelles et Convention de nommage). Le texte se met à jour instantanément et vous pouvez ensuite le copier en un clic. Les valeurs sont stockées uniquement dans votre navigateur.

Faut-il de l'expérience pour l'utiliser ?

Il est de niveau avancé : il s'adresse aux personnes expérimentées dans le domaine, capables d'évaluer et d'ajuster le résultat.

Ce prompt est-il gratuit ?

Oui. Tous les prompts de HomeCasa Prompts sont gratuits, sans inscription ni abonnement. Vous pouvez aussi les utiliser dans des projets professionnels.

Puis-je me fier au résultat de l'IA ?

Considérez-le comme un brouillon de qualité : vérifiez toujours les données, les chiffres et les affirmations importantes avant de publier ou de prendre des décisions.

Prompts similaires