APIGit
2023-06-15
Die OpenAPI-Spezifikation (OAS) bietet eine leistungsstarke und standardisierte Möglichkeit, APIs zu beschreiben. Eines der wertvollsten Features der Spezifikation ist diecomponents
Objekt, das die Wiederverwendung verschiedener Elemente in einer API ermöglicht, wodurch Konsistenz sichergestellt und Redundanz reduziert wird.
Der components
Objekte können Schemata, Parameter, Antworten, Header, Anforderungstexte, Sicherheitsschemata und Beispiele enthalten. Dieser zentralisierte Container verbessert die Wiederverwendbarkeit und Wartbarkeit Ihrer API-Definitionen.
Schemata definieren die Struktur von Anforderungs- und Antworttexten. Sie können ein Benutzerobjekt, eine Fehlermeldungsstruktur oder eine andere Datenentität darstellen.
Beispiel:
components:
schemas:
User:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
Parameter können für mehrere Vorgänge wiederverwendet werden, z. B. die ID in Pfaden oder Limit und Offset für die Seitennummerierung.
Beispiel:
components:
parameters:
userId:
name: userId
in: path
required: true
schema:
type: integer
limitParam:
name: limit
in: query
schema:
type: integer
default: 10
Gemeinsame Antwortstrukturen, insbesondere zur Fehlerbehandlung, können einmal definiert und wiederverwendet werden, wodurch ein konsistentes API-Verhalten gewährleistet wird. Beispiel:
components:
responses:
NotFound:
description: The specified resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Standardheader, die an verschiedenen Endpunkten verwendet werden können, können einmal definiert und wiederverwendet werden.
Beispiel:
components:
headers:
X-Rate-Limit:
description: The number of allowed requests in the current period
schema:
type: integer
Durch die Definition gemeinsamer Sicherheitsschemata können Sie diese in der gesamten API wiederverwenden und so konsistente Sicherheitspraktiken gewährleisten.
Beispiel:
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
Verwenden Sie klare, beschreibende Namen für Komponenten, damit Entwickler sie leichter verstehen und wiederverwenden können. Beispielsweise „User“ für ein Benutzerobjektschema, „NotFound“ für eine allgemeine 404-Fehlerantwort.
Organisieren Sie Ihre Komponenten logisch, indem Sie sie beispielsweise nach ihrem Typ (z. B. Antworten, Parameter) oder nach ihrem Domänenbereich (z. B. Authentifizierung, Benutzer, Produkte) kategorisieren.
Obwohl Wiederverwendbarkeit von entscheidender Bedeutung ist, kann eine zu große Detailliertheit das Verständnis und die Wartung der API-Spezifikation erschweren. Ausgewogenheit ist entscheidend.
components:
schemas:
Error:
type: object
properties:
code:
type: integer
message:
type: string
paths:
/users:
get:
parameters:
- $ref: '#/components/parameters/limitParam'
- name: offset
in: query
schema:
type: integer
default: 0
paths:
/protected/resource:
get:
security:
- ApiKeyAuth: []
responses:
'200':
description: Success
Effektive Nutzung dercomponents
Objekt in OAS kann die Konsistenz und Wartbarkeit Ihrer API-Spezifikationen erheblich verbessern. Durch Einhaltung bewährter Methoden und Nutzung des intuitiven API-Editors von APIGIT können Entwickler effiziente, wiederverwendbare und gut organisierte API-Definitionen erstellen.
© 2024 APIGit Inc.