Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate with routing-controllers #2

Closed
amcdnl opened this issue Jul 7, 2016 · 6 comments
Closed

Integrate with routing-controllers #2

amcdnl opened this issue Jul 7, 2016 · 6 comments
Labels

Comments

@amcdnl
Copy link

amcdnl commented Jul 7, 2016

routing-controllers is a extensive decorator library for Express and TypeScript. It, however, does not have support for Swagger ( yet ;) ).

Rather than re-invent the wheel it would be nice to have adapters for use with other libraries like this. I've spoken to @pleerock and he's interested in this effort too.

Additionally, there is class-validators which is a decorator pattern for property validation that might be worth thinking about too.

@pleerock
Copy link

pleerock commented Jul 7, 2016

sounds good, would be great if we have such ability to generate docs right from the code

@lukeautry
Copy link
Owner

Frankly, I think @pleerock has a far more robust library for this - really the only thing it's missing (at least, from having looked at it) is swagger spec generation. With swagger spec generation on top, it's basically exactly what I'd want when starting to build out an API.

Since most of the work for swagger generation is parsing out the metadata and converting it to a spec, 90% of the logic is specific to the implementation, e.g. the conventions established in https://github.com/pleerock/routing-controllers. I might take a stab and open a pull request over there with spec generation, as I think it has more value coming as a single package, or at least an extension (e.g. routing-controllers-swagger).

@amcdnl
Copy link
Author

amcdnl commented Jul 7, 2016

@lukeautry I'm all for this, let me know how I can help!

@pleerock
Copy link

pleerock commented Jul 8, 2016

@lukeautry sounds very promising let me know too if there is something we need to do together to make this swagger spec generation part of routing-controllers

@amcdnl
Copy link
Author

amcdnl commented Jul 14, 2016

Per discussion with @lukeautry...

yeah, i took a stab at it - the way that pleerock does metadata generation is different, it's using runtime reflection and currently object serialization for ts emitMetadata is not quite where it needs to be (that's why i had to actually run everything through the compiler)

i think with ts 2.0 object serialization is (probably?) finished so all swagger spec can be generated at runtime so, probably in the next couple months - for now i'm refining my solution as i like the simplicity of it

yeah, like basically having compiled typescript with decorators be able to output return types/argument type metadata e.g. return type is { id: string }, that metadata is written out to the compiled js somehow

Any feedback @pleerock ?

@lukeautry
Copy link
Owner

Closing for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants