slogan3

Help me een gedetailleerde OpenAPI-specificatie te maken die de prestatietargets voor mijn API beschrijft.

description

Door prestatietargets te definiëren, kunnen gebruikers beter begrijpen hoe ze hun API kunnen optimaliseren voor snelheid en betrouwbaarheid, wat leidt tot een verbeterde gebruikerservaring en operationele efficiëntie.

prompt

try_prompt

Ik heb hulp nodig bij het opstellen van een uitgebreide OpenAPI-specificatie die zich richt op de prestatietargets van mijn API. Voeg alstublieft de volgende details toe: API-naam: {{api_naam}}, Kritieke Pre ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een uitgebreide OpenAPI-specificatie voor jouw WeerAPI, inclusief de door jou gevraagde prestatietargets en monitoringdetails: ```yaml openapi: 3.0.3 info: title: WeerAPI version: '1.0.0' description: > API voor het ophalen van weersinformatie met prestatiegerichte specificaties en monitoring. servers: - url: https://api.weerapi.com/v1 components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-KEY responses: Unauthorized: description: Ongeldig of ontbrekend API-sleutel OK: description: Succesvolle reactie security: - ApiKeyAuth: [] paths: /weer: get: summary: Haal actuele weersinformatie op description: > Deze endpoint retourneert actuele weersgegevens. Het is belangrijk dat de responsetijd onder de 250ms blijft en dat de API voldoet aan de kritieke prestatie-indicator van 200ms. parameters: - in: query name: locatie schema: type: string required: true description: Naam of coordinates van de locatie waarvoor het weer wordt opgevraagd responses: '200': $ref: '#/components/responses/OK' '401': $ref: '#/components/responses/Unauthorized' security: - ApiKeyAuth: [] # Prestatie targets en monitoring x-performance: kritieke_prestatie_indicator_ms: 200 reactietijddoelen_ms: 250 monitoringhulpmiddelen: - Prometheus ``` Belangrijke punten: - De API heet "WeerAPI". - De kritieke KPI is ingesteld op 200ms. - Reactietijddoel is minder dan 250ms. - Authenticatie gebeurt via een API-sleutel in de header (X-API-KEY). - Monitoring wordt ondersteund door Prometheus. - Deze specificatie geeft een basisendpoint `/weer` voor actuele weersinformatie. Wil je dat ik nog meer endpoints toevoeg of de specificatie verder uitbreid?
provider: deepseek
model: deepseek-chat
Zeker, hier is een uitgebreide OpenAPI 3.0-specificatie voor je WeerAPI met focus op prestatiedoelen: ```yaml openapi: 3.0.0 info: title: WeerAPI description: API voor weergegevens met prestatiemonitoring version: 1.0.0 contact: name: API Ondersteuning email: support@weerapi.nl # Prestatiegerelateerde metadata x-performance-targets: kritieke-prestatie-indicatoren: reactietijd: 200ms beschikbaarheid: 99.9% reactietijd-doelen: p95: < 250ms p99: < 500ms monitoring: tools: - Prometheus metrics: - http_request_duration_seconds - http_requests_total - error_rate servers: - url: https://api.weer.nl/v1 description: Productie server paths: /weer/actueel: get: summary: Haal actuele weergegevens op description: | Retourneert actuele weergegevens voor een specifieke locatie. **Prestatiedoel:** Reactietijd < 250ms (P95) Monitoring via Prometheus metrics: - weerapi_request_duration_seconds - weerapi_requests_total{endpoint="actueel"} parameters: - name: stad in: query required: true schema: type: string description: Naam van de stad - name: land in: query schema: type: string default: NL description: Landcode responses: '200': description: Succesvolle response binnen prestatie doelen headers: X-Response-Time: description: Actuele response tijd in milliseconden schema: type: integer example: 185 content: application/json: schema: $ref: '#/components/schemas/WeerData' '400': description: Ongeldige request parameters '429': description: Rate limit overschreden '500': description: Server error - mogelijk prestatie issue security: - apiKey: [] /weer/voorspelling: get: summary: Weersvoorspelling voor komende dagen description: | Retourneert weersvoorspelling voor de komende 5 dagen. **Prestatiedoel:** Reactietijd < 250ms (P95) parameters: - name: stad in: query required: true schema: type: string - name: dagen in: query schema: type: integer minimum: 1 maximum: 7 default: 5 responses: '200': description: Succesvolle response content: application/json: schema: $ref: '#/components/schemas/Voorspelling' security: - apiKey: [] /metrics: get: summary: Prometheus metrics endpoint description: | Intern endpoint voor Prometheus monitoring. Toont prestatiemetrics zoals response tijden en foutpercentages. responses: '200': description: Prometheus metrics data content: text/plain: example: | # HELP weerapi_request_duration_seconds HTTP request duration in seconds # TYPE weerapi_request_duration_seconds histogram weerapi_request_duration_seconds_bucket{le="0.1"} 1234 weerapi_request_duration_seconds_bucket{le="0.25"} 5678 security: [] components: schemas: WeerData: type: object properties: stad: type: string temperatuur: type: number format: float eenheid: type: string enum: [celsius, fahrenheit] beschrijving: type: string vochtigheid: type: integer windsnelheid: type: number timestamp: type: string format: date-time Voorspelling: type: object properties: stad: type: string voorspellingen: type: array items: $ref: '#/components/schemas/DagVoorspelling' DagVoorspelling: type: object properties: datum: type: string format: date max_temp: type: number min_temp: type: number beschrijving: type: string securitySchemes: apiKey: type: apiKey name: X-API-Key in: header description: API sleutel voor authenticatie responses: PerformanceWarning: description: Response tijd benadert prestatie limieten headers: X-Performance-Warning: description: Waarschuwing voor prestatie degradatie schema: type: string example: "Response tijd > 200ms gedetecteerd" # Aangepaste extensies voor prestatie monitoring x-monitoring-config: prometheus: scrape_interval: 15s metrics: - name: response_time help: "API response tijd in milliseconden" type: histogram buckets: [50, 100, 150, 200, 250, 500] - name: error_rate help: "Foutpercentage per endpoint" type: counter alerts: - name: "Hoge response tijd" condition: "response_time > 250" severity: "warning" - name: "Kritieke prestatie degradatie" condition: "response_time > 500" severity: "critical" ``` **Belangrijkste prestatiekenmerken in deze specificatie:** 1. **KPI Monitoring**: 200ms reactietijd als kritieke indicator 2. **Reactietijd Doelen**: P95 < 250ms expliciet gedocumenteerd 3. **Prometheus Integration**: Dedicated /metrics endpoint en custom metrics 4. **Performance Headers**: X-Response-Time header voor real-time monitoring 5. **Alerting Framework**: Vooraf gedefinieerde alert voorwaarden 6. **Security**: API Key authenticatie zoals gespecificeerd Deze specificatie kan direct worden gebruikt in API gateways en monitoring tools zoals Prometheus voor prestatiebewaking.