Skip to content

[Jaxrs-Resteasy] Improvements for Jaxrs-Resteasy #4512

Open
@jfiala

Description

@jfiala
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

this has already been fixed in #4447

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...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions