diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/LocalDateProvider.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1/LocalDateProvider.mustache similarity index 100% rename from modules/swagger-codegen/src/main/resources/JavaJaxRS/LocalDateProvider.mustache rename to modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1/LocalDateProvider.mustache diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/OffsetDateTimeProvider.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1/OffsetDateTimeProvider.mustache similarity index 100% rename from modules/swagger-codegen/src/main/resources/JavaJaxRS/OffsetDateTimeProvider.mustache rename to modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1/OffsetDateTimeProvider.mustache diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/LocalDateProvider.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/LocalDateProvider.mustache new file mode 100644 index 00000000000..90a5fb62084 --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/LocalDateProvider.mustache @@ -0,0 +1,28 @@ +package {{apiPackage}}; + +import javax.ws.rs.ext.ParamConverter; +import javax.ws.rs.ext.ParamConverterProvider; +import javax.ws.rs.ext.Provider; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.time.LocalDate; + +@Provider +public class LocalDateProvider implements ParamConverterProvider { + + public ParamConverter getConverter(Class clazz, Type type, Annotation[] annotations) { + if (clazz.getName().equals(LocalDate.class.getName())) { + return new ParamConverter() { + @SuppressWarnings("unchecked") + public T fromString(String value) { + return value!=null ? (T) LocalDate.parse(value) : null; + } + + public String toString(T bean) { + return bean!=null ? bean.toString() : ""; + } + }; + } + return null; + } +} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/OffsetDateTimeProvider.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/OffsetDateTimeProvider.mustache new file mode 100644 index 00000000000..fccb0deb16c --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey2/OffsetDateTimeProvider.mustache @@ -0,0 +1,28 @@ +package {{apiPackage}}; + +import javax.ws.rs.ext.ParamConverter; +import javax.ws.rs.ext.ParamConverterProvider; +import javax.ws.rs.ext.Provider; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.time.OffsetDateTime; + +@Provider +public class OffsetDateTimeProvider implements ParamConverterProvider { + + public ParamConverter getConverter(Class clazz, Type type, Annotation[] annotations) { + if (clazz.getName().equals(OffsetDateTime.class.getName())) { + return new ParamConverter() { + @SuppressWarnings("unchecked") + public T fromString(String value) { + return value != null ? (T) OffsetDateTime.parse(value) : null; + } + + public String toString(T bean) { + return bean != null ? bean.toString() : ""; + } + }; + } + return null; + } +} \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2/hello.txt b/samples/client/petstore/java/jersey2/hello.txt new file mode 100644 index 00000000000..6769dd60bdf --- /dev/null +++ b/samples/client/petstore/java/jersey2/hello.txt @@ -0,0 +1 @@ +Hello world! \ No newline at end of file