Progetta una API REST con specifica OpenAPI

Progetta una API REST coerente: risorse, endpoint, codici di stato, formato degli errori, paginazione, versionamento e uno snippet OpenAPI 3.1. Pensato per ChatGPT, Claude e Gemini. Include 5 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.

Avanzato · Codice · In attesa di revisione editoriale

Prompt

Agisci come architetto di API con esperienza nella progettazione di API REST pubbliche usate da terze parti.

Sto costruendo l'API per {{product}}.
Consumatori principali: {{consumers}}.
Entità e relazioni note: {{entities}}.
Requisiti non funzionali: {{requirements}}.

Consegna, in quest'ordine:
1. Modello delle risorse: l'elenco delle risorse, i loro attributi chiave, le relazioni e l'identificativo che ciascuna usa.
2. Tabella degli endpoint (metodo, percorso, descrizione, autenticazione richiesta, possibili codici di stato). Usa nomi al plurale, al massimo un livello di annidamento e giustifica le azioni non CRUD.
3. Convenzioni: nomi dei campi ({{naming_convention}}), date ISO 8601 in UTC, paginazione basata su cursore, filtri, ordinamento e sparse fieldsets.
4. Un unico formato di errore basato su RFC 9457 (Problem Details), con esempi per 400, 401, 403, 404, 409, 422 e 429.
5. Strategia di versionamento, idempotenza (header `Idempotency-Key` sulle POST) e controllo della concorrenza (ETag / If-Match).
6. Sicurezza: schema di autenticazione, scope dei permessi e rate limit.
7. Uno snippet YAML OpenAPI 3.1 che copra le due risorse principali, i loro schemi e le risposte di errore riutilizzabili in `components`.
8. Rischi di progettazione e decisioni da rivedere con il team.

Vincoli:
- Non inventare regole di business: se qualcosa non è chiaro, segnalalo come [DA COMPLETARE] e chiedimelo.
- Privilegia la coerenza rispetto alla creatività.

Come usarlo

  1. Elenca le entità che già conosci, anche in modo approssimativo.
  2. Indica chi userà l'API (app mobile, partner, integrazioni interne).
  3. Rivedi la tabella degli endpoint prima di chiedere la specifica OpenAPI completa.
  4. Importa il YAML in Swagger Editor o Stoplight per validarlo.

Esempio d'uso

Prodotto: piattaforma di prenotazione per ambulatori · Consumatori: app mobile e partner · Entità: ambulatorio, professionista, paziente, appuntamento.

Esempio di risultato

2. Endpoint (estratto)

MetodoPercorsoDescrizioneAuthCodici
GET/clinics/{clinic_id}/practitionersProfessionisti di un ambulatorioclinics:read200, 401, 404
POST/appointmentsCreare un appuntamentoappointments:write201, 409, 422
POST/appointments/{id}/cancelAnnullare (azione non CRUD: conserva lo storico)appointments:write200, 409

7. OpenAPI 3.1 (estratto)

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: Appuntamento creato }
        '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: Errore in formato RFC 9457
      content:
        application/problem+json:
          schema: { type: object, properties: { type: { type: string }, title: { type: string }, status: { type: integer }, detail: { type: string } } }

Gli stati di un appuntamento e la politica di annullamento sono regole di business: [DA COMPLETARE] prima di fissare l'enum status…

Dati chiave

Categoria
Programmazione e sviluppo · API
Tipo di output
Codice
Livello
Avanzato
Pensato per
ChatGPT, Claude e Gemini
Verificato in
In attesa di verifica editoriale
Variabili
Prodotto, Consumatori, Entità, Requisiti non funzionali e Convenzione dei nomi
Lingua
Italiano
Prezzo
Gratuito, senza registrazione
Aggiornato
07/11/2026

Domande frequenti

Paginazione con cursore o con pagina/offset?

I cursori restano stabili quando i dati cambiano e scalano meglio sulle tabelle grandi. L'offset è più semplice per le schermate di amministrazione interne che saltano a pagine specifiche. Il prompt usa i cursori per impostazione predefinita, ma puoi chiedere l'alternativa.

Posso generare codice server dalla specifica OpenAPI?

Sì. Strumenti come OpenAPI Generator creano stub server e client in molti linguaggi. Completa e valida prima la specifica.

A cosa serve questo prompt?

Progetta una API REST coerente: risorse, endpoint, codici di stato, formato degli errori, paginazione, versionamento e uno snippet OpenAPI 3.1.

Con quali strumenti di IA funziona?

È pensato per ChatGPT, Claude e Gemini. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.

Come personalizzo il prompt?

Clicca su «Personalizza» e compila le variabili (Prodotto, Consumatori, Entità, Requisiti non funzionali e Convenzione dei nomi). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.

Serve esperienza per usarlo?

È di livello avanzato: è pensato per persone con esperienza nell'argomento, in grado di valutare e regolare il risultato.

Questo prompt è gratuito?

Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.

Posso fidarmi dell'output dell'IA?

Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.

Prompt correlati