Skip to content

Conversation

@adamgarcia4
Copy link

@adamgarcia4 adamgarcia4 commented May 8, 2024

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.

image

Functionally, it allows you to specify a zod schema for inputs to the express handler (params, query, body, header).

It will do two things:

  1. Dynamically Generate a swagger file from the schema middleware.
  2. If you set the validateInput or validateOutput flags 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-server here, 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!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant