forked from loafle/openapi-generator-original
[Java][RestTemplate] fix compilation issue with API client (resttemplate) (#5832)
* adapt the resttemplate target for the threeten Time API * add threeten dependencies to build.gradle * fix missing dollar sign * fix missing dollar sign
This commit is contained in:
@@ -24,6 +24,13 @@ import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.client.RestClientException;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
{{#threetenbp}}
|
||||
import org.threeten.bp.*;
|
||||
import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
{{/threetenbp}}
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -303,6 +310,14 @@ public class ApiClient {
|
||||
*/
|
||||
public ApiClient setDateFormat(DateFormat dateFormat) {
|
||||
this.dateFormat = dateFormat;
|
||||
{{#threetenbp}}
|
||||
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
|
||||
if(converter instanceof AbstractJackson2HttpMessageConverter){
|
||||
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
|
||||
mapper.setDateFormat(dateFormat);
|
||||
}
|
||||
}
|
||||
{{/threetenbp}}
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -551,6 +566,18 @@ public class ApiClient {
|
||||
*/
|
||||
protected RestTemplate buildRestTemplate() {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
{{#threetenbp}}
|
||||
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
|
||||
if(converter instanceof AbstractJackson2HttpMessageConverter){
|
||||
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
|
||||
ThreeTenModule module = new ThreeTenModule();
|
||||
module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
|
||||
module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
|
||||
module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
|
||||
mapper.registerModule(module);
|
||||
}
|
||||
}
|
||||
{{/threetenbp}}
|
||||
// This allows us to read the response more than once - Necessary for debugging.
|
||||
restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(restTemplate.getRequestFactory()));
|
||||
return restTemplate;
|
||||
|
||||
@@ -111,6 +111,9 @@ ext {
|
||||
spring_web_version = "4.3.7.RELEASE"
|
||||
jodatime_version = "2.9.4"
|
||||
junit_version = "4.12"
|
||||
{{#threetenbp}}
|
||||
jackson_threeten_version = "2.6.4"
|
||||
{{/threetenbp}}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -123,9 +126,12 @@ dependencies {
|
||||
{{#java8}}
|
||||
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jackson_version"
|
||||
{{/java8}}
|
||||
{{^java8}}
|
||||
{{#joda}}
|
||||
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jackson_version"
|
||||
compile "joda-time:joda-time:$jodatime_version"
|
||||
{{/java8}}
|
||||
{{/joda}}
|
||||
{{#threetenbp}}
|
||||
compile "com.github.joschi.jackson:jackson-datatype-threetenbp:$jackson_threeten_version"
|
||||
{{/threetenbp}}
|
||||
testCompile "junit:junit:$junit_version"
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
<version>${jackson-version}</version>
|
||||
</dependency>
|
||||
{{/java8}}
|
||||
{{^java8}}
|
||||
{{#joda}}
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||
<artifactId>jackson-datatype-joda</artifactId>
|
||||
@@ -236,7 +236,14 @@
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>${jodatime-version}</version>
|
||||
</dependency>
|
||||
{{/java8}}
|
||||
{{/joda}}
|
||||
{{#threetenbp}}
|
||||
<dependency>
|
||||
<groupId>com.github.joschi.jackson</groupId>
|
||||
<artifactId>jackson-datatype-threetenbp</artifactId>
|
||||
<version>${jackson-threetenbp-version}</version>
|
||||
</dependency>
|
||||
{{/threetenbp}}
|
||||
|
||||
<!-- test dependencies -->
|
||||
<dependency>
|
||||
@@ -251,9 +258,12 @@
|
||||
<swagger-annotations-version>1.5.8</swagger-annotations-version>
|
||||
<spring-web-version>4.3.7.RELEASE</spring-web-version>
|
||||
<jackson-version>2.8.8</jackson-version>
|
||||
{{^java8}}
|
||||
{{#joda}}
|
||||
<jodatime-version>2.9.4</jodatime-version>
|
||||
{{/java8}}
|
||||
{{/joda}}
|
||||
{{#threetenbp}}
|
||||
<jackson-threetenbp-version>2.6.4</jackson-threetenbp-version>
|
||||
{{/threetenbp}}
|
||||
<maven-plugin-version>1.0.0</maven-plugin-version>
|
||||
<junit-version>4.12</junit-version>
|
||||
</properties>
|
||||
|
||||
Reference in New Issue
Block a user