swagger-api/swagger-codegen

[Jaxrs-Resteasy] Improvements for Jaxrs-Resteasy

Open

#4 512 ouverte le 6 janv. 2017

Voir sur GitHub
 (12 commentaires) (0 réactions) (0 assignés)HTML (5 474 forks)batch import
Enhancement: GeneralServer: Javahelp wanted

Métriques du dépôt

Stars
 (12 701 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

Description

The generated code stubs are way to complicated, in fact only the following files are needed for Resteasy (verified with Jboss EAP 7):

  • Api-Interface (with all JaxRS-annotations)
  • Implementation class implementing the interface
  • Class to activate Jax-RS: @ApplicationPath / extends RestApplication
Additional Fixes
  • the api is generated as class, but IMHO this should be an interface!?
  • @ApiResponse are missing

this has already been fixed in the master branch

  • @Api annotation is missing (see #4447)

this has already been fixed in #4447

  • create deployable WAR file (see #4461)

The current state of #4712 allows to generate a simple structure with interfaces holding all JaxRS-annotations and a simple implementation class. Registration for JaxRS is done by extending Jaxrs Application. It has been verified to work for Jboss EAP 6 + 7 as no resteasy-specific libraries are included ( resteasy-jackson2-provider is now provided as opposed to jaxrs-resteasy).

Datetime-Support
  • joda datetime support (using configuration of Jackson ObjectMapper)
  • java8 datetime support (using configuration of Jackson ObjectMapper)

This language supports Java8 and Joda datetime using the JacksonConfig, the needed dependencies included automatically (see pom.mustache).

I added the flag "joda" to AbstractJavaCodegen.java to allow checking for joda in the mustache templates.

Further Enhancements
  • javax.ws.rs.core.Response is used instead of the real response data type

should better be changed separately see #4713

  • optional: activate Swagger contract generator (ApiListingResource / SwaggerSerializers)
Questions
Swagger-codegen version

2.2.2-SNAPSHOT

Related issues

#4447 regarding the Swagger annotations #4461 regarding WAR-file #4123 for enums #3446 for tag support

Suggest a Fix

If you like, I can provide a new simplified Resteasy language. Using the dynamic Swagger contract generator it provides true turnaround development...

Guide contributeur