REST-API mit OpenAPI-Spezifikation entwerfen

Entwerfen Sie eine konsistente REST-API: Ressourcen, Endpunkte, Statuscodes, Fehlerformat, Paginierung, Versionierung und ein OpenAPI-3.1-Ausschnitt. Entwickelt für ChatGPT, Claude und Gemini. Er enthält 5 anpassbare Variablen und lässt sich kostenlos mit einem Klick kopieren.

Experte · Code · Redaktionelle Prüfung ausstehend

Entwickelt für:

Prompt

Handle als API-Architekt mit Erfahrung im Entwurf öffentlicher REST-APIs, die von Dritten genutzt werden.

Ich entwickle die API für {{product}}.
Hauptnutzer: {{consumers}}.
Bekannte Entitäten und Beziehungen: {{entities}}.
Nichtfunktionale Anforderungen: {{requirements}}.

Liefere in dieser Reihenfolge:
1. Ressourcenmodell: die Liste der Ressourcen, ihre wichtigsten Attribute, Beziehungen und den jeweils verwendeten Bezeichner.
2. Endpunkt-Tabelle (Methode, Pfad, Beschreibung, erforderliche Authentifizierung, mögliche Statuscodes). Verwende Substantive im Plural, höchstens eine Verschachtelungsebene und begründe jede Aktion, die nicht dem CRUD-Schema folgt.
3. Konventionen: Feldbenennung ({{naming_convention}}), Datumsangaben nach ISO 8601 in UTC, cursorbasierte Paginierung, Filtern, Sortieren und Sparse Fieldsets.
4. Ein einheitliches Fehlerformat nach RFC 9457 (Problem Details) mit Beispielen für 400, 401, 403, 404, 409, 422 und 429.
5. Versionierungsstrategie, Idempotenz (`Idempotency-Key`-Header bei POST) und Nebenläufigkeitskontrolle (ETag / If-Match).
6. Sicherheit: Authentifizierungsverfahren, Berechtigungs-Scopes und Ratenbegrenzung.
7. Einen OpenAPI-3.1-YAML-Ausschnitt für die zwei wichtigsten Ressourcen, ihre Schemas und wiederverwendbare Fehlerantworten unter `components`.
8. Designrisiken und Entscheidungen, die es sich lohnt, mit dem Team zu besprechen.

Vorgaben:
- Erfinde keine Geschäftsregeln: Markiere Unklares als [AUSFÜLLEN] und frage mich.
- Konsistenz geht vor Kreativität.

So verwenden Sie ihn

  1. Listen Sie die Entitäten auf, die Sie bereits kennen, auch grob.
  2. Sagen Sie, wer die API nutzen wird (mobile App, Partner, interne Integrationen).
  3. Prüfen Sie die Endpunkt-Tabelle, bevor Sie die vollständige OpenAPI-Spezifikation anfordern.
  4. Importieren Sie das YAML in den Swagger Editor oder Stoplight, um es zu validieren.

Anwendungsbeispiel

Produkt: Buchungsplattform für Arztpraxen · Nutzer: mobile App und Partner · Entitäten: Praxis, Behandler, Patient, Termin.

Beispielergebnis

2. Endpoints (Auszug)

MethodePfadBeschreibungAuthStatuscodes
GET/clinics/{clinic_id}/practitionersBehandler einer Praxisclinics:read200, 401, 404
POST/appointmentsTermin anlegenappointments:write201, 409, 422
POST/appointments/{id}/cancelStornieren (Nicht-CRUD-Aktion: Verlauf bleibt erhalten)appointments:write200, 409

7. OpenAPI 3.1 (Auszug)

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: Termin angelegt }
        '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: Fehler im Format RFC 9457
      content:
        application/problem+json:
          schema: { type: object, properties: { type: { type: string }, title: { type: string }, status: { type: integer }, detail: { type: string } } }

Terminstatus und Stornoregeln sind Geschäftsregeln: [AUSFÜLLEN], bevor das status-Enum festgelegt wird …

Wichtige Fakten

Kategorie
Programmierung & Entwicklung · APIs
Ausgabetyp
Code
Niveau
Experte
Entwickelt für
ChatGPT, Claude und Gemini
Verifiziert in
Redaktionelle Prüfung ausstehend
Variablen
Produkt, Nutzer der API, Entitäten, Nichtfunktionale Anforderungen und Namenskonvention
Sprache
Deutsch
Preis
Kostenlos, ohne Anmeldung
Aktualisiert
07.11.2026

Häufig gestellte Fragen

Cursor-Paginierung oder Seite/Offset?

Cursor bleiben stabil, wenn sich Daten ändern, und skalieren bei großen Tabellen besser. Offsets sind einfacher für interne Verwaltungsansichten, die gezielt Seiten ansteuern. Der Prompt verwendet standardmäßig Cursor, Sie können aber die Alternative anfordern.

Kann ich aus der OpenAPI-Spezifikation Servercode erzeugen?

Ja. Werkzeuge wie der OpenAPI Generator erzeugen Server-Stubs und Clients in vielen Sprachen. Vervollständigen und validieren Sie die Spezifikation vorher.

Wofür ist dieser Prompt gedacht?

Entwerfen Sie eine konsistente REST-API: Ressourcen, Endpunkte, Statuscodes, Fehlerformat, Paginierung, Versionierung und ein OpenAPI-3.1-Ausschnitt.

Mit welchen KI-Tools funktioniert er?

Er ist für ChatGPT, Claude und Gemini entwickelt. Wir haben ihn in diesen Tools noch nicht überprüft, daher können die Ergebnisse variieren.

Wie passe ich den Prompt an?

Klicken Sie auf „Anpassen“ und füllen Sie die Variablen aus (Produkt, Nutzer der API, Entitäten, Nichtfunktionale Anforderungen und Namenskonvention). Der Text wird sofort aktualisiert und lässt sich anschließend mit einem Klick kopieren. Die Werte werden nur in Ihrem Browser gespeichert.

Brauche ich Erfahrung, um ihn zu verwenden?

Er ist für Experten: Er richtet sich an Personen mit Erfahrung im Thema, die das Ergebnis beurteilen und anpassen können.

Ist dieser Prompt kostenlos?

Ja. Jeder Prompt von HomeCasa Prompts ist kostenlos, ohne Anmeldung und ohne Abonnement. Sie können ihn auch in beruflichen Projekten verwenden.

Kann ich der KI-Ausgabe vertrauen?

Betrachten Sie sie als hochwertigen Entwurf: Prüfen Sie Daten, Zahlen und wichtige Aussagen immer, bevor Sie etwas veröffentlichen oder Entscheidungen treffen.

Ähnliche Prompts