forked from loafle/openapi-generator-original
[resteasy] configure jackson to use rfc3339 dates
This commit is contained in:
+4
-2
@@ -67,10 +67,12 @@ public class JavaResteasyServerCodegen extends AbstractJavaJAXRSServerCodegen {
|
||||
(sourceFolder + '/' + invokerPackage).replace(".", "/"), "RestApplication.java"));
|
||||
supportingFiles.add(new SupportingFile("StringUtil.mustache",
|
||||
(sourceFolder + '/' + invokerPackage).replace(".", "/"), "StringUtil.java"));
|
||||
supportingFiles.add(new SupportingFile("JacksonConfig.mustache",
|
||||
(sourceFolder + '/' + invokerPackage).replace(".", "/"), "JacksonConfig.java"));
|
||||
supportingFiles.add(new SupportingFile("RFC3339DateFormat.mustache",
|
||||
(sourceFolder + '/' + invokerPackage).replace(".", "/"), "RFC3339DateFormat.java"));
|
||||
|
||||
if ("joda".equals(dateLibrary)) {
|
||||
supportingFiles.add(new SupportingFile("JacksonConfig.mustache",
|
||||
(sourceFolder + '/' + invokerPackage).replace(".", "/"), "JacksonConfig.java"));
|
||||
supportingFiles.add(new SupportingFile("JodaDateTimeProvider.mustache",
|
||||
(sourceFolder + '/' + apiPackage).replace(".", "/"), "JodaDateTimeProvider.java"));
|
||||
supportingFiles.add(new SupportingFile("JodaLocalDateProvider.mustache",
|
||||
|
||||
+18
-17
@@ -20,24 +20,25 @@ public class JacksonConfig implements ContextResolver<ObjectMapper> {
|
||||
|
||||
public JacksonConfig() throws Exception {
|
||||
|
||||
objectMapper = new ObjectMapper();
|
||||
objectMapper.registerModule(new JodaModule() {
|
||||
{
|
||||
addSerializer(DateTime.class, new StdSerializer<DateTime>(DateTime.class) {
|
||||
@Override
|
||||
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.dateTimeNoMillis().print(value));
|
||||
}
|
||||
});
|
||||
addSerializer(LocalDate.class, new StdSerializer<LocalDate>(LocalDate.class) {
|
||||
@Override
|
||||
public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.date().print(value));
|
||||
}
|
||||
});
|
||||
objectMapper = new ObjectMapper()
|
||||
.setDateFormat(new RFC3339DateFormat())
|
||||
.registerModule(new JodaModule() {
|
||||
{
|
||||
addSerializer(DateTime.class, new StdSerializer<DateTime>(DateTime.class) {
|
||||
@Override
|
||||
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.dateTimeNoMillis().print(value));
|
||||
}
|
||||
});
|
||||
addSerializer(LocalDate.class, new StdSerializer<LocalDate>(LocalDate.class) {
|
||||
@Override
|
||||
public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.date().print(value));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public ObjectMapper getContext(Class<?> arg0) {
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package {{invokerPackage}};
|
||||
|
||||
import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
|
||||
import com.fasterxml.jackson.databind.util.ISO8601Utils;
|
||||
|
||||
import java.text.FieldPosition;
|
||||
import java.util.Date;
|
||||
|
||||
public class RFC3339DateFormat extends ISO8601DateFormat {
|
||||
|
||||
// Same as ISO8601DateFormat but serializing milliseconds.
|
||||
@Override
|
||||
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
|
||||
String value = ISO8601Utils.format(date, true);
|
||||
toAppendTo.append(value);
|
||||
return toAppendTo;
|
||||
}
|
||||
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
package io.swagger.api;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerationException;
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
|
||||
import com.fasterxml.jackson.datatype.joda.JodaModule;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.format.ISODateTimeFormat;
|
||||
|
||||
import javax.ws.rs.ext.ContextResolver;
|
||||
import javax.ws.rs.ext.Provider;
|
||||
import java.io.IOException;
|
||||
|
||||
@Provider
|
||||
public class JacksonConfig implements ContextResolver<ObjectMapper> {
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
public JacksonConfig() throws Exception {
|
||||
|
||||
objectMapper = new ObjectMapper()
|
||||
.setDateFormat(new RFC3339DateFormat())
|
||||
.registerModule(new JodaModule() {
|
||||
{
|
||||
addSerializer(DateTime.class, new StdSerializer<DateTime>(DateTime.class) {
|
||||
@Override
|
||||
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.dateTimeNoMillis().print(value));
|
||||
}
|
||||
});
|
||||
addSerializer(LocalDate.class, new StdSerializer<LocalDate>(LocalDate.class) {
|
||||
@Override
|
||||
public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.date().print(value));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public ObjectMapper getContext(Class<?> arg0) {
|
||||
return objectMapper;
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package io.swagger.api;
|
||||
|
||||
import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
|
||||
import com.fasterxml.jackson.databind.util.ISO8601Utils;
|
||||
|
||||
import java.text.FieldPosition;
|
||||
import java.util.Date;
|
||||
|
||||
public class RFC3339DateFormat extends ISO8601DateFormat {
|
||||
|
||||
// Same as ISO8601DateFormat but serializing milliseconds.
|
||||
@Override
|
||||
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
|
||||
String value = ISO8601Utils.format(date, true);
|
||||
toAppendTo.append(value);
|
||||
return toAppendTo;
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import io.swagger.model.Category;
|
||||
import io.swagger.model.Tag;
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
+18
-17
@@ -20,24 +20,25 @@ public class JacksonConfig implements ContextResolver<ObjectMapper> {
|
||||
|
||||
public JacksonConfig() throws Exception {
|
||||
|
||||
objectMapper = new ObjectMapper();
|
||||
objectMapper.registerModule(new JodaModule() {
|
||||
{
|
||||
addSerializer(DateTime.class, new StdSerializer<DateTime>(DateTime.class) {
|
||||
@Override
|
||||
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.dateTimeNoMillis().print(value));
|
||||
}
|
||||
});
|
||||
addSerializer(LocalDate.class, new StdSerializer<LocalDate>(LocalDate.class) {
|
||||
@Override
|
||||
public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.date().print(value));
|
||||
}
|
||||
});
|
||||
objectMapper = new ObjectMapper()
|
||||
.setDateFormat(new RFC3339DateFormat())
|
||||
.registerModule(new JodaModule() {
|
||||
{
|
||||
addSerializer(DateTime.class, new StdSerializer<DateTime>(DateTime.class) {
|
||||
@Override
|
||||
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.dateTimeNoMillis().print(value));
|
||||
}
|
||||
});
|
||||
addSerializer(LocalDate.class, new StdSerializer<LocalDate>(LocalDate.class) {
|
||||
@Override
|
||||
public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
|
||||
jgen.writeString(ISODateTimeFormat.date().print(value));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public ObjectMapper getContext(Class<?> arg0) {
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package io.swagger.api;
|
||||
|
||||
import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
|
||||
import com.fasterxml.jackson.databind.util.ISO8601Utils;
|
||||
|
||||
import java.text.FieldPosition;
|
||||
import java.util.Date;
|
||||
|
||||
public class RFC3339DateFormat extends ISO8601DateFormat {
|
||||
|
||||
// Same as ISO8601DateFormat but serializing milliseconds.
|
||||
@Override
|
||||
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
|
||||
String value = ISO8601Utils.format(date, true);
|
||||
toAppendTo.append(value);
|
||||
return toAppendTo;
|
||||
}
|
||||
|
||||
}
|
||||
+1
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import io.swagger.model.Category;
|
||||
import io.swagger.model.Tag;
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.swagger.model;
|
||||
import java.util.Objects;
|
||||
import java.util.ArrayList;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user