docs: Add Swagger UI to the API reference page #10923
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently the link in the API reference page points to the API spec in JSON, which is not readable. This PR adds a simple HTML code snippet that renders Swagger UI with the spec to
swagger.md
so that it displays the API docs directly.We can also put the HTML code in a separate file and simply make the link in the API reference page point to that file. I think it's more straightforward to embed Swagger UI like this.
One issue with Swagger UI is that it's slow when it loads information about a certain path or schema after a user clicks on it. This is probably because the API spec is too large. I tested generating Swagger UI in static HTML, but it also took some time for my browser to load a certain path.
Test
make docs
Though I also updated Makefile to exempt
swagger.md
from checks because it has HTML code, which is not allowed by the linter.Screenshot