-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
[Extension Proposal] AsyncAPI generator #41207
Comments
/cc @aloubyansky (extension-proposal), @gastaldi (extension-proposal), @gsmet (extension-proposal), @maxandersen (extension-proposal) |
I think that's a question mainly for @fjtirado since it's for the contract-first part of the extension... |
on first hunch this feels like a thing the asyncapi extension could/should do - but I honestly know too little about asyncapi to say which generator to use. |
completely out-of-box thinking...would a modelina extension make sense? one that allows generation using modelina? similar to how done for kiota? |
btw. modelina does not seem to implement/generate a client just generate the model do I read that right? |
Indeed it generates only the payload model class, in v3 it's
Here's an example of calling it from a Maven project: https://github.com/asyncapi/modelina/tree/master/examples/integrate-with-maven |
kinda - we have quinoa that does that for webapp usage and webbundler that bundles esbuild to enable interesting usecases. not sure if it suffices for modelina - personally I'm not a fan of dragging nodejs ecosystem in just to generate some classes - but if that's what is available ... |
Hi @rquinio1A ! In no particular order, things that can work: |
I quickly hacked around a POC: https://github.com/andreaTP/quarkus-modelina-poc You can check the basic usage in the It uses eirslett/frontend-maven-plugin behind the scenes to setup Node, NPM and install Modelina etc. Not sure if there is any better recommendation on how to implement this kind of automation cc. @ia3andy |
We did some prototype work for AsyncAPI in SmallRye: https://github.com/smallrye/smallrye-async-api |
Description
Interested in this extension, please +1 via the emoji/reaction feature of GitHub (top right).
The go-to library to generare Java model classes from an AsyncAPI document is modelina
However, as it's a typscript library, using it in a Maven project requires a lot of boilerplate (frontend-maven-plugin + npm package.json + generator.ts).
There are probably 2 questions to answer for such an extension:
I have a PoC that generates an intermediate OpenAPI document and calls quarkus-openapi-generator on it, but it brings "quarkus-rest-client" dependencies, which don't make sense for event-driven microservices.
Ideally I'd want the same capibilities and user experience for schema-first developement with Quarkus, whether it is for REST server, REST client or event processors.
/cc @hbelmiro @ChMThiel @fjtirado
Repository name
quarkus-asyncapi-generator
Short description
Generate Java POJO from AsyncAPI components
Repository Homepage URL
https://quarkiverse.github.io/quarkiverse-docs/quarkus-asyncapi-generator/dev/
Repository Topics
No response
Team Members
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: