slogan3

Ontwerp een OpenAPI Specificatie voor API Gebruikersbeheer en Rollenbeheer

description

Met deze prompt kun je een duidelijke en gedetailleerde OpenAPI specificatie maken die het gebruikers- en rollenbeheer van je API beschrijft. Dit helpt ontwikkelaars om toegangscontrole beter te begrijpen en te implementeren, wat de veiligheid en het beheer van je API verbetert. Het is specifiek en anders dan bestaande prompts door de focus op gebruikers- en rollenbeheer, een essentieel aspect voor vele API's.

prompt

try_prompt

Help me een OpenAPI specificatie te maken die de gebruikersbeheer- en rollenbeheerfunctionaliteiten van mijn API beschrijft. API Naam: <voer de naam van mijn API in> Gebruikersbeheer Functies (bijv. aanmaken, bewerken, verwijderen van gebruikers): <beschrijf de gebruikersbeheerfuncties> Rollen ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
openapi: 3.0.3 info: titel: Voorbeeld API versie: '1.0.0' beschrijving: > API voor gebruikersbeheer en rollenbeheer, inclusief authenticatie via API-sleutel. servers: - url: https://api.voorbeeld.com/v1 beschrijving: Productieomgeving components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-KEY schemas: Gebruiker: type: object eigenschappen: id: type: string description: Unieke identificatie van de gebruiker naam: type: string beschrijving: Naam van de gebruiker email: type: string format: email beschrijving: E-mail adres van de gebruiker rol: type: string enum: [admin, user, guest] beschrijving: Rol van de gebruiker machtigingen: type: array items: type: string beschrijving: Toegestane acties op basis van rol Rol: type: object eigenschappen: naam: type: string beschrijving: Naam van de rol machtigingen: type: array items: type: string beschrijving: Rechten die aan de rol zijn gekoppeld paths: /gebruikers: get: summary: Lijst van alle gebruikers security: - ApiKeyAuth: [] responses: '200': description: Een lijst van gebruikers content: application/json: schema: type: array items: $ref: '#/components/schemas/Gebruiker' post: summary: Een nieuwe gebruiker aanmaken security: - ApiKeyAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Gebruiker' responses: '201': description: Gebruiker succesvol aangemaakt content: application/json: schema: $ref: '#/components/schemas/Gebruiker' /gebruikers/{id}: get: summary: Details van een gebruiker opvragen security: - ApiKeyAuth: [] parameters: - in: path naam: id required: true schema: type: string beschrijving: ID van de gebruiker responses: '200': description: Gebruiker details content: application/json: schema: $ref: '#/components/schemas/Gebruiker' '404': description: Gebruiker niet gevonden put: summary: Gebruiker bewerken security: - ApiKeyAuth: [] parameters: - in: path naam: id required: true schema: type: string beschrijving: ID van de gebruiker requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Gebruiker' responses: '200': description: Gebruiker succesvol bijgewerkt content: application/json: schema: $ref: '#/components/schemas/Gebruiker' '404': description: Gebruiker niet gevonden delete: summary: Gebruiker verwijderen security: - ApiKeyAuth: [] parameters: - in: path naam: id required: true schema: type: string beschrijving: ID van de gebruiker responses: '204': description: Gebruiker succesvol verwijderd '404': description: Gebruiker niet gevonden /rollen: get: summary: Lijst van alle rollen security: - ApiKeyAuth: [] responses: '200': description: Een lijst van rollen content: application/json: schema: type: array items: $ref: '#/components/schemas/Rol' post: summary: Nieuwe rol aanmaken security: - ApiKeyAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Rol' responses: '201': description: Rol succesvol aangemaakt content: application/json: schema: $ref: '#/components/schemas/Rol' /rollen/{naam}: get: summary: Details van een rol opvragen security: - ApiKeyAuth: [] parameters: - in: path naam: naam required: true schema: type: string beschrijving: Naam van de rol responses: '200': description: Rol details content: application/json: schema: $ref: '#/components/schemas/Rol' '404': description: Rol niet gevonden put: summary: Rol bewerken security: - ApiKeyAuth: [] parameters: - in: path naam: naam required: true schema: type: string beschrijving: Naam van de rol requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Rol' responses: '200': description: Rol succesvol bijgewerkt content: application/json: schema: $ref: '#/components/schemas/Rol' '404': description: Rol niet gevonden delete: summary: Rol verwijderen security: - ApiKeyAuth: [] parameters: - in: path naam: naam required: true schema: type: string beschrijving: Naam van de rol responses: '204': description: Rol succesvol verwijderd '404': description: Rol niet gevonden security: - ApiKeyAuth: [] voorbeeld: gebruik: - beveiliging: - ApiKeyAuth: [] - beschrijving: Gebruik de header "X-API-KEY" voor authenticatie. rollen: - beschrijving: Beheer rollen en machtigingen, inclusief toevoegen, bewerken en verwijderen. gebruikers: - beschrijving: Beheer gebruikers, inclusief aanmaken, bewerken en verwijderen.
provider: deepseek
model: deepseek-chat
```yaml openapi: 3.0.3 info: title: Voorbeeld API description: API voor gebruikersbeheer en rollenbeheer version: 1.0.0 servers: - url: https://api.voorbeeld.com/v1 description: Productie server components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API sleutel voor authenticatie schemas: User: type: object required: - id - username - email - role properties: id: type: string format: uuid description: Unieke identifier van de gebruiker username: type: string description: Gebruikersnaam email: type: string format: email description: E-mailadres role: type: string enum: [admin, user, guest] description: Rol van de gebruiker createdAt: type: string format: date-time description: Aanmaakdatum updatedAt: type: string format: date-time description: Laatste wijzigingsdatum UserCreate: type: object required: - username - email - password - role properties: username: type: string description: Gebruikersnaam email: type: string format: email description: E-mailadres password: type: string format: password description: Wachtwoord role: type: string enum: [admin, user, guest] description: Rol van de gebruiker UserUpdate: type: object properties: username: type: string description: Gebruikersnaam email: type: string format: email description: E-mailadres password: type: string format: password description: Wachtwoord role: type: string enum: [admin, user, guest] description: Rol van de gebruiker Error: type: object properties: error: type: string description: Foutmelding code: type: integer description: HTTP status code message: type: string description: Beschrijving van de fout security: - ApiKeyAuth: [] paths: /users: get: summary: Lijst van alle gebruikers ophalen description: Haalt een lijst op van alle gebruikers. Alleen admin gebruikers hebben toegang. tags: - Gebruikersbeheer responses: '200': description: Succesvolle response content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Verboden - onvoldoende rechten content: application/json: schema: $ref: '#/components/schemas/Error' post: summary: Nieuwe gebruiker aanmaken description: Maakt een nieuwe gebruiker aan. Alleen admin gebruikers hebben toegang. tags: - Gebruikersbeheer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserCreate' responses: '201': description: Gebruiker succesvol aangemaakt content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Ongeldige invoer content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Verboden - onvoldoende rechten content: application/json: schema: $ref: '#/components/schemas/Error' /users/{userId}: get: summary: Specifieke gebruiker ophalen description: Haalt een specifieke gebruiker op op basis van ID tags: - Gebruikersbeheer parameters: - name: userId in: path required: true schema: type: string format: uuid responses: '200': description: Succesvolle response content: application/json: schema: $ref: '#/components/schemas/User' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Gebruiker niet gevonden content: application/json: schema: $ref: '#/components/schemas/Error' put: summary: Gebruiker bijwerken description: Werkt een gebruiker bij op basis van ID. Alleen admin gebruikers hebben toegang. tags: - Gebruikersbeheer parameters: - name: userId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserUpdate' responses: '200': description: Gebruiker succesvol bijgewerkt content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Ongeldige invoer content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Verboden - onvoldoende rechten content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Gebruiker niet gevonden content: application/json: schema: $ref: '#/components/schemas/Error' delete: summary: Gebruiker verwijderen description: Verwijdert een gebruiker op basis van ID. Alleen admin gebruikers hebben toegang. tags: - Gebruikersbeheer parameters: - name: userId in: path required: true schema: type: string format: uuid responses: '204': description: Gebruiker succesvol verwijderd '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Verboden - onvoldoende rechten content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Gebruiker niet gevonden content: application/json: schema: $ref: '#/components/schemas/Error' /roles: get: summary: Beschikbare rollen ophalen description: Haalt een lijst op van alle beschikbare rollen en hun machtigingen tags: - Rollenbeheer responses: '200': description: Succesvolle response content: application/json: schema: type: object properties: roles: type: array items: type: object properties: name: type: string enum: [admin, user, guest] description: Naam van de rol permissions: type: array items: type: string description: Lijst van machtigingen description: type: string description: Beschrijving van de rol example: roles: - name: admin permissions: ["users:read", "users:write", "users:delete", "roles:read"] description: "Beheerder met volledige toegang" - name: user permissions: ["users:read", "profile:write"] description: "Gebruiker met beperkte toegang" - name: guest permissions: ["users:read"] description: "Gast met alleen-lezen rechten" '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Error' ``` Deze OpenAPI specificatie beschrijft een complete gebruikers- en rollenbeheer API met de volgende kenmerken: **Authenticatie:** API sleutel via X-API-Key header **Rollen en machtigingen:** - **admin:** Volledige toegang (gebruikers aanmaken, lezen, bijwerken, verwijderen) - **user:** Beperkte toegang (gebruikers lezen, eigen profiel bijwerken) - **guest:** Alleen-lezen rechten (gebruikers lezen) **Functionaliteiten:** - Gebruikers aanmaken, lezen, bijwerken en verwijderen - Rollen en bijbehorende machtigingen opvragen - UUID-based gebruikersidentificatie - Uitgebreide foutafhandeling De specificatie is volledig in het Nederlands en volgt de OpenAPI 3.0.3 standaard.