Automatiseer het genereren van OpenAPI-specificaties vanaf bestaande API-implementaties
description
Met deze prompt kan ik snel een accurate OpenAPI-specificatie genereren vanuit mijn bestaande API-code, waardoor handmatige fouten worden verminderd en de integratie met andere systemen wordt vereenvoudigd. Dit bespaart tijd en zorgt voor consistente documentatie zonder uitgebreide handmatige inspanning.
prompt
Help me bij het automatisch genereren van een OpenAPI-specificatie op basis van mijn bestaande API-implementatie.
API Implementatietaal: <voer de programmeertaal van mijn API in>
API Basis-URL: <voer de basis-URL van mijn API in>
Belangrijke Endpoints om te documenteren: ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hieronder vind je een basisvoorbeeld van een OpenAPI-specificatie in YAML-formaat voor jouw API, gebaseerd op de door jou verstrekte informatie. Deze specificatie kun je verder uitbreiden en aanpassen aan je daadwerkelijke implementatie.
```yaml
openapi: 3.0.3
info:
title: Mijn API
description: Documentatie voor mijn API
version: 1.0.0
servers:
- url: https://api.mijnapp.nl
description: Productieserver
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
security:
- BearerAuth: []
paths:
/gebruikers:
get:
summary: Ophalen van gebruikers
description: Haalt een lijst van gebruikers op.
security:
- BearerAuth: []
responses:
'200':
description: Succesvolle reactie
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Gebruiker'
'401':
description: Niet geautoriseerd
/producten:
get:
summary: Ophalen van producten
description: Haalt een lijst van producten op.
security:
- BearerAuth: []
responses:
'200':
description: Succesvolle reactie
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Product'
'401':
description: Niet geautoriseerd
components:
schemas:
Gebruiker:
type: object
properties:
id:
type: integer
description: Unieke identificatie van de gebruiker
naam:
type: string
email:
type: string
format: email
geregistreerdOp:
type: string
format: date-time
Product:
type: object
properties:
id:
type: integer
naam:
type: string
prijs:
type: number
format: float
beschikbaar:
type: boolean
```
**Hoe verder te gaan:**
- Voeg meer endpoints toe door de `paths` sectie uit te breiden.
- Pas de schema's aan op basis van de werkelijke data-structuur.
- Integreer dit YAML-bestand in je documentatie of gebruik tools zoals Swagger Editor om het verder te visualiseren en te valideren.
Wil je dat ik je help met het automatisch genereren van de specificatie op basis van je code? Bijvoorbeeld met behulp van tools zoals Swagger-jsdoc of andere automatiseringshulpmiddelen?
provider: deepseek
model: deepseek-chat
Zeker, hier is een basis OpenAPI 3.0.3 YAML-specificatie voor jouw API:
```yaml
openapi: 3.0.3
info:
title: MijnApp API
description: API voor MijnApp gebruikers en producten
version: 1.0.0
servers:
- url: https://api.mijnapp.nl
description: Productie server
tags:
- name: Gebruikers
description: Operaties voor gebruikersbeheer
- name: Producten
description: Operaties voor productbeheer
paths:
/gebruikers:
get:
tags:
- Gebruikers
summary: Haal alle gebruikers op
description: Retourneert een lijst van alle gebruikers
security:
- BearerAuth: []
responses:
'200':
description: Succesvolle response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Gebruiker'
'401':
$ref: '#/components/responses/UnauthorizedError'
post:
tags:
- Gebruikers
summary: Maak een nieuwe gebruiker aan
description: Maakt een nieuwe gebruiker aan in het systeem
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NieuweGebruiker'
responses:
'201':
description: Gebruiker succesvol aangemaakt
content:
application/json:
schema:
$ref: '#/components/schemas/Gebruiker'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
/gebruikers/{id}:
get:
tags:
- Gebruikers
summary: Haal specifieke gebruiker op
description: Retourneert een specifieke gebruiker op basis van ID
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Unieke identifier van de gebruiker
responses:
'200':
description: Succesvolle response
content:
application/json:
schema:
$ref: '#/components/schemas/Gebruiker'
'404':
$ref: '#/components/responses/NotFoundError'
'401':
$ref: '#/components/responses/UnauthorizedError'
/producten:
get:
tags:
- Producten
summary: Haal alle producten op
description: Retourneert een lijst van alle producten
security:
- BearerAuth: []
responses:
'200':
description: Succesvolle response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Product'
'401':
$ref: '#/components/responses/UnauthorizedError'
post:
tags:
- Producten
summary: Maak een nieuw product aan
description: Maakt een nieuw product aan in het systeem
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NieuwProduct'
responses:
'201':
description: Product succesvol aangemaakt
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
Gebruiker:
type: object
properties:
id:
type: string
format: uuid
naam:
type: string
email:
type: string
format: email
aangemaaktOp:
type: string
format: date-time
NieuweGebruiker:
type: object
required:
- naam
- email
properties:
naam:
type: string
email:
type: string
format: email
Product:
type: object
properties:
id:
type: string
format: uuid
naam:
type: string
prijs:
type: number
format: float
beschrijving:
type: string
NieuwProduct:
type: object
required:
- naam
- prijs
properties:
naam:
type: string
prijs:
type: number
format: float
beschrijving:
type: string
responses:
UnauthorizedError:
description: Niet geautoriseerd - Bearer token ontbreekt of is ongeldig
BadRequestError:
description: Ongeldige request - Verificatie van input data mislukt
NotFoundError:
description: Resource niet gevonden
```
**Opmerkingen voor automatische generatie:**
- Gebruik tools zoals `swagger-jsdoc` of `swagger-autogen` voor Node.js
- Voeg JSDoc comments toe aan je route handlers voor automatische documentatie
- Voor Bearer token authenticatie, zorg dat je security middleware correct is geconfigureerd
- Pas de schema's aan op basis van je daadwerkelijke data modellen