Skip to content

Voeg regel toe over het documenteren van server URLs #294

Open
TimvdLippe wants to merge 3 commits intodevelopfrom
servers-rule
Open

Voeg regel toe over het documenteren van server URLs #294
TimvdLippe wants to merge 3 commits intodevelopfrom
servers-rule

Conversation

@TimvdLippe
Copy link
Contributor

Hiermee maken we een eerste stap in het enforceren
van informatie over servers. Tevens maken we hiermee
duidelijk dat een relatieve URL is toegestaan, echter
moet er altijd minstens 1 absolute URL zijn.

Part of #208
Fixes #290

Hiermee maken we een eerste stap in het enforceren
van informatie over servers. Tevens maken we hiermee
duidelijk dat een relatieve URL is toegestaan, echter
moet er altijd minstens 1 absolute URL zijn.
@TimvdLippe TimvdLippe requested review from dvh and joostfarla January 28, 2026 13:57
@github-actions github-actions bot added Status: In bewerking Het voorstel is in bewerking bij de beheerorganisatie. Overleg: TO-API Te agenderen voor het Technisch Overleg API labels Jan 28, 2026
@github-actions
Copy link

<dd>
OpenAPI definition document MUST include at least one Server object in <a href="https://spec.openapis.org/oas/v3.0.1.html#server-object"><code>servers</code></a>.
One or more Server objects MUST have a <code>url</code> which is an absolute URL.
At most one Server object MAY have a <url>url</code> which is a relative URL.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is deze uitzondering echt nodig? Zou het niet beter zijn om altijd absolute URLs te vereisen?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dat is het voorstel in #290, zie dat issue voor meer context.

@dvh
Copy link
Collaborator

dvh commented Feb 5, 2026

Dit blijft een ingewikkelde discussie. Als je ervan uitgaat dat een OAS op endpoint/openapi.json draait, dan zou 1 OAS eigenlijk überhaupt nooit meerdere servers kunnen hebben:

prod:

  • url: api.developer.overheid.nl/v1
  • oas: api.developer.overheid.nl/v1/openapi.json

test:

  • url: api.test.developer.overheid.nl/v1
  • oas: api.test.developer.overheid.nl/v1/openapi.json

Wat ik heel wenselijk zou vinden zou de classificatie van een omgeving zijn, zodat je weet welke server bij prod, test, dev, etc. hoort (ook tbv het API register). Maar die optie heeft OAS niet, dus dan zouden we iets af moeten spreken over de volgorde, naam of een extensie, zoals beschreven in #208. Mogelijk maakt het deze discussie makkelijker als we daar iets voor verzonnen hebben?

@TimvdLippe
Copy link
Contributor Author

Ik heb Spectral regels kunnen schrijven en gecheckt of er API's wel/niet aan voldoen. Met deze regels (dus max 1 relative URL), voldoet er 1 API niet: het API register van developer.overheid.nl (waarschijnlijk vergeten te updaten?)

Als we helemaal geen relatieve URLs toestaan, dan zijn dit de statistieken:

Statistics for rule nlgov:servers-no-relative:

Analyzed: 179
Passing: 161
Percentage: 89%

Voorbeelden:

Het lijken vooral DSO API's te zijn die dit patroon volgen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Overleg: TO-API Te agenderen voor het Technisch Overleg API Status: In bewerking Het voorstel is in bewerking bij de beheerorganisatie.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sta relatieve Server API URL toe.

3 participants