swagger-api / swagger-codegen

swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
http://swagger.io
Apache License 2.0
17.04k stars 6.03k forks source link

RxJava2 with retrofit2 generates wrong md doc #6964

Open feikede opened 7 years ago

feikede commented 7 years ago
Description

When I generate a Java client with {"useRxJava2":"true", "library":"retrofit2"} the generated docs are wrong, they don't match the api. Looks like it's just the standard java md-doc without the rxJava enhancements.

Swagger-codegen version

Version: 2.2.3 and 3.0.0-SNAPSHOT

Swagger declaration file content or url

can use Uber or any other example

Command line used for generation

java -jar /Users/rainer/bin/swagger-codegen-cli-2.2.3.jar generate -l java -o rx -i swagger.yaml -c rc2.cnf

rc2.cnf: {"useRxJava2":"true", "library":"retrofit2"}

Steps to reproduce
  1. Generate code and look into the docs directory.
  2. md doc doesn't match (no Observables) the generated rx java api code.
Related issues/PRs
Suggest a fix/enhancement

Thanks, Rainer Feike

wing328 commented 7 years ago

@feikede thanks for reporting the issue. May I know if you've time to contribute the fix?

https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/api_doc.mustache is a good starting point and you can use the following mustache tag to check rxjava2 setting:

{{#useRxJava2}}
...
{{/useRxJava2}}
feikede commented 7 years ago

Yes, I think I can do this. Let me take a look at it.