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
- Elenca le entità che già conosci, anche in modo approssimativo.
- Indica chi userà l'API (app mobile, partner, integrazioni interne).
- Rivedi la tabella degli endpoint prima di chiedere la specifica OpenAPI completa.
- 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)
| Metodo | Percorso | Descrizione | Auth | Codici |
|---|---|---|---|---|
| GET | /clinics/{clinic_id}/practitioners | Professionisti di un ambulatorio | clinics:read | 200, 401, 404 |
| POST | /appointments | Creare un appuntamento | appointments:write | 201, 409, 422 |
| POST | /appointments/{id}/cancel | Annullare (azione non CRUD: conserva lo storico) | appointments:write | 200, 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.