Add Auto-Documenting Swagger Middleware #7
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.
I've added a very nice Middleware that I developed on a different project.
Please see the screenshot for an example on how to use it.
Functionally, it allows you to specify a zod schema for inputs to the express handler (params, query, body, header).
It will do two things:
validateInputorvalidateOutputflags to true, it will reject inputs or outputs against that schema. I see that you do zod middleware validation in your routes. You can remove it from the handler.I'm hosting the
lovat-serverhere, and you can see the swagger middleware auto-generated from the one test route that I've created. If approved, we can start moving all the existing routes over to this.https://lovat-server.onrender.com/swagger/
https://lovat-server.onrender.com/swagger.json
You'll get full API type safety as well as auto-documenting Swagger files!