swagger-express-middleware
swagger-express-middleware copied to clipboard
Add support for Swagger (OpenApi) 3.0
This is an excellent project, it will be great to see support for the new spec version.
https://github.com/OAI/OpenAPI-Specification/blob/3.0.0-rc0/versions/3.0.md https://github.com/OAI/OpenAPI-Specification
I fully intend to add support for OAI 3.0 soon 👍
@BigstickCarpet any update on this?
Yes, I'm making good progress on this. It's a lot of work and involves multiple different projects, so it will take some time.
Where can we help out?
You can review my progress here and give me any feedback that you have. I'm currently on a month-long business trip, so I haven't been able to work on it lately, but I'll get right back to it as soon as I return home in late September.
Excited for updates, will contribute if I can.
@BigstickCarpet are things going well for this update? Is there anything we can do?
We would like this as well :)
Hi all. I'm sorry for the delay. I had to put this project on hold for a couple months due to other commitments. So I basically made no progress in September or October. But now I'm back on the job and really hoping to get something released ASAP. I'm aware that there are a lot of people waiting on me, including some very big projects. I feel the pressure. And I promise I'm moving as fast as I possibly can. 😥
Any updates?
Hey @BigstickCarpet, Now that swagger-parser 5.0 supports OpenAPI 3, can we have an update for this package as well?
Yes, I plan to upgrade this project next. No promises on when though. I'm completely swamped at work right now, so I don't have a lot of spare time to work on this. I'll get it done as soon as I possibly can though.
Is there any way we can help?
Hi :) Is this still going places?
I'm sure there is a great deal more to it, but locally I'm running a form where for all of the param parsing, I've replaced function calls that use param (where param is the JSON schema object of the parameter) with param.schema || param and things seem to be working really well. I went with this approach because it seemed the easiest way to backwards compatible.
@jefflage - can you share your work with us? Did you fork and made some changes?
Not yet. Just hacked at the source locally. But now that we’re further into the spike we intend to fork and submit a PR. I’ll post when we do.
@jefflage - can't wait! And probably also the other 28K people who download it every week!
@gonenduk "no pressure" :D
No pressure at all, but really can't wait to test it and get rid of version 2.
Version 1.0.0 is out! Still not support for OpenAPI 3, but it seems the project is getting an attention now and many things are being fixed.
Yep! Expect 2.0.0 very soon, with a few breaking changes due to updated dependencies. OpenAPI support is the next priority after that
Any updates on this? Would be great to use on an OpenAPI 3.0 documented API that I'm work on!
@jdpowell1 Markus has made some good progress in his fork https://github.com/APIDevTools/swagger-express-middleware/pull/119 which he is publishing to NPM https://www.npmjs.com/package/swagger-express-middleware3 . There is also another project with a bit of a different feature set that may or may not be helpful for your project: https://github.com/exegesis-js/exegesis-express .
Anything new on this?
I've been busy recently and unable to work on this, but I did notice that @sedgewickmm18 submitted PR #119 which adds OpenAPI 3.0 support. As soon as I get a chance, I'll review that PR and possibly merge it.
Hey. Any updates? Maybe news about PR #119?
@gonenduk I've rebased PR #119 but I'm unsure how to move on. This is still only the beginning, as additional test cases are needed to cover API 3.0 specifics.
I just now merged the PR. As @sedgewickmm18 said, it's only the beginning and additional OAS3 stuff will need to be added, but this is a great start!
Thanks for the effort guys!
I tried to use the merge and found a problem with basePath. With OpenAPI basePath is no longer used. Instead, a list of possible servers are used. I created a PR #136 to fix this. Please review it @JamesMessinger, @sedgewickmm18