Add Auto-Documenting Swagger Middleware#7
Draft
adamgarcia4 wants to merge 6 commits intoHighlanderRobotics:mainfrom
Draft
Add Auto-Documenting Swagger Middleware#7adamgarcia4 wants to merge 6 commits intoHighlanderRobotics:mainfrom
adamgarcia4 wants to merge 6 commits intoHighlanderRobotics:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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!