redhat-developer / app-services-sdk-java

RedHat Managed Services APIs for Java
Apache License 2.0
8 stars 11 forks source link

Add async support #206

Open r00ta opened 2 years ago

r00ta commented 2 years ago

Hi,

The api exposed by the sdk are not async. We had to implement an abstraction over the sdk so to introduce such async api calls to be used in our services. This is not an ideal solution since I think the sdk should provide such functionality out of the box. Wdyt?

Thank you very much

wtrocki commented 2 years ago

This is very valid request - I believe that we were getting a lots of requests for asnyc api before. Can you contribute your wrapper to the repository?

The problem with async is that we would have issue with being opinionated and so far every proposition we given to the team ended with response: Ok That will not work for us we use X - where X is some nishe lib used only in redhat.

OpenAPI generator offers rxjava flavour that we can generate out of the box and publish as -async versions of the SDK

r00ta commented 2 years ago

Hi @wtrocki , I don't think our async wrapper is the right way to solve the problem and make it available to the public. If we have to keep the sync implementation, would it be possible to have another async sdk generated with the openapi generator?

wtrocki commented 2 years ago

We do not write any code in the repo all sdks are generated.

Can you tell me what generators client you would require to use? See OpenApiGenerator availabe generators for reference.

r00ta commented 2 years ago

We do not write any code in the repo all sdks are generated.

Can you tell me what generators client you would require to use? See OpenApiGenerator availabe generators for reference.

I need some time to get though that tool. I'll get back to you in the next days

wtrocki commented 2 years ago

@r00ta There is only one async generator for the Java (rxjava) is that something your team would like to have?

wtrocki commented 2 years ago

Actually I see that there is Async Support in the Generator itself: https://github.com/OpenAPITools/openapi-generator/pull/4721

That will require us moving from quarkus supported client resteasy to native clients. I have tested it and it seems to be failing on some specifics of that OpenAPI file but technically that would be possible.

wtrocki commented 2 years ago

See https://github.com/redhat-developer/app-services-sdk-java/pull/339/files