[Java][resttemplate] better code format (#10033)

* java restemplate: better code format

* update samples
This commit is contained in:
William Cheng
2021-07-25 16:07:04 +08:00
committed by GitHub
parent 8eba70dd3d
commit f0ebcd56d1
16 changed files with 414 additions and 353 deletions

View File

@@ -93,6 +93,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
CSV(","), TSV("\t"), SSV(" "), PIPES("|"), MULTI(null);
private final String separator;
private CollectionFormat(String separator) {
this.separator = separator;
}
@@ -149,6 +150,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Get the current base path
*
* @return String the base path
*/
public String getBasePath() {
@@ -157,6 +159,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Set the base path, which should include the host
*
* @param basePath the base path
* @return ApiClient this client
*/
@@ -167,6 +170,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Get authentications (key: authentication name, value: authentication).
*
* @return Map the currently configured authentication types
*/
public Map<String, Authentication> getAuthentications() {
@@ -186,6 +190,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
{{#hasHttpBearerMethods}}
/**
* Helper method to set token for HTTP bearer authentication.
*
* @param bearerToken the token
*/
public void setBearerToken(String bearerToken) {
@@ -203,6 +208,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
{{#hasHttpBasicMethods}}
/**
* Helper method to set username for the first HTTP basic authentication.
*
* @param username Username
*/
public void setUsername(String username) {
@@ -234,6 +240,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
{{#hasApiKeyMethods}}
/**
* Helper method to set API key value for the first API key authentication.
*
* @param apiKey the API key
*/
public void setApiKey(String apiKey) {
@@ -248,6 +255,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Helper method to set API key prefix for the first API key authentication.
*
* @param apiKeyPrefix API key prefix
*/
public void setApiKeyPrefix(String apiKeyPrefix) {
@@ -265,6 +273,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
{{#hasOAuthMethods}}
/**
* Helper method to set access token for the first OAuth2 authentication.
*
* @param accessToken Access token
*/
public void setAccessToken(String accessToken) {
@@ -281,6 +290,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Set the User-Agent header's value (by adding to the default header map).
*
* @param userAgent the user agent string
* @return ApiClient this client
*/
@@ -321,7 +331,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
public void setDebugging(boolean debugging) {
List<ClientHttpRequestInterceptor> currentInterceptors = this.restTemplate.getInterceptors();
if(debugging) {
if (debugging) {
if (currentInterceptors == null) {
currentInterceptors = new ArrayList<ClientHttpRequestInterceptor>();
}
@@ -367,9 +377,9 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
{{#threetenbp}}
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
for (HttpMessageConverter converter : restTemplate.getMessageConverters()) {
if (converter instanceof AbstractJackson2HttpMessageConverter) {
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
mapper.setDateFormat(dateFormat);
}
}
@@ -379,6 +389,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Parse the given string into Date object.
*
* @param str the string to parse
* @return the Date parsed from the string
*/
@@ -392,6 +403,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Format the given Date object into string.
*
* @param date the date to format
* @return the formatted date as string
*/
@@ -401,6 +413,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Format the given parameter object into string.
*
* @param param the object to convert
* @return String the parameter represented as a String
*/
@@ -413,8 +426,8 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
return formatOffsetDateTime((OffsetDateTime) param);
} {{/jsr310}}else if (param instanceof Collection) {
StringBuilder b = new StringBuilder();
for(Object o : (Collection<?>) param) {
if(b.length() > 0) {
for (Object o : (Collection<?>) param) {
if (b.length() > 0) {
b.append(",");
}
b.append(String.valueOf(o));
@@ -440,7 +453,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
}
// collectionFormat is assumed to be "csv" by default
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -449,6 +462,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Converts a parameter to a {@link MultiValueMap} for use in REST requests
*
* @param collectionFormat The format to convert to
* @param name The name of the parameter
* @param value The parameter's value
@@ -461,7 +475,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
return params;
}
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -473,7 +487,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
return params;
}
if (valueCollection.isEmpty()){
if (valueCollection.isEmpty()) {
return params;
}
@@ -485,7 +499,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
}
List<String> values = new ArrayList<String>();
for(Object o : valueCollection) {
for (Object o : valueCollection) {
values.add(parameterToString(o));
}
params.add(name, collectionFormat.collectionToString(values));
@@ -495,6 +509,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Check if the given {@code String} is a JSON MIME.
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -517,6 +532,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -526,6 +542,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Check if the given {@code String} is a Problem JSON MIME (RFC-7807).
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents Problem JSON, false otherwise
*/
@@ -577,6 +594,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Select the body to use for the request
*
* @param obj the body object
* @param formParams the form parameters
* @param contentType the content type of the request
@@ -589,6 +607,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Expand path template with variables
*
* @param pathTemplate path template with placeholders
* @param variables variables to replace
* @return path with placeholders replaced by variables
@@ -599,6 +618,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Include queryParams in uriParams taking into account the paramName
*
* @param queryParam The query parameters
* @param uriParams The path parameters
* return templatized query string
@@ -662,21 +682,21 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
//Append to finalUri the templatized query string like "?param1={param1Value}&.......
finalUri += "?" + queryUri;
}
String expandedPath = this.expandPath(finalUri,uriParams);
String expandedPath = this.expandPath(finalUri, uriParams);
final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath);
URI uri;
try {
uri = new URI(builder.build().toUriString());
} catch(URISyntaxException ex) {
} catch (URISyntaxException ex) {
throw new RestClientException("Could not build URL: " + builder.toUriString(), ex);
}
final BodyBuilder requestBuilder = RequestEntity.method(method, uri);
if(accept != null) {
if (accept != null) {
requestBuilder.accept(accept.toArray(new MediaType[accept.size()]));
}
if(contentType != null) {
if (contentType != null) {
requestBuilder.contentType(contentType);
}
@@ -705,7 +725,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
protected void addHeadersToRequest(HttpHeaders headers, BodyBuilder requestBuilder) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
List<String> values = entry.getValue();
for(String value : values) {
for (String value : values) {
if (value != null) {
requestBuilder.header(entry.getKey(), value);
}
@@ -715,6 +735,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
/**
* Add cookies to the request that is being built
*
* @param cookies The cookies to add
* @param requestBuilder The current request
*/
@@ -759,9 +780,9 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
RestTemplate restTemplate = new RestTemplate(messageConverters);
{{/withXml}}{{^withXml}}RestTemplate restTemplate = new RestTemplate();{{/withXml}}
{{#threetenbp}}
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
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);
@@ -822,9 +843,9 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
private String headersToString(HttpHeaders headers) {
StringBuilder builder = new StringBuilder();
for(Entry<String, List<String>> entry : headers.entrySet()) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
builder.append(entry.getKey()).append("=[");
for(String value : entry.getValue()) {
for (String value : entry.getValue()) {
builder.append(value).append(",");
}
builder.setLength(builder.length() - 1); // Get rid of trailing comma

View File

@@ -74,6 +74,7 @@ public class ApiClient extends JavaTimeFormatter {
CSV(","), TSV("\t"), SSV(" "), PIPES("|"), MULTI(null);
private final String separator;
private CollectionFormat(String separator) {
this.separator = separator;
}
@@ -130,6 +131,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Get the current base path
*
* @return String the base path
*/
public String getBasePath() {
@@ -138,6 +140,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Set the base path, which should include the host
*
* @param basePath the base path
* @return ApiClient this client
*/
@@ -148,6 +151,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Get authentications (key: authentication name, value: authentication).
*
* @return Map the currently configured authentication types
*/
public Map<String, Authentication> getAuthentications() {
@@ -167,6 +171,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set username for the first HTTP basic authentication.
*
* @param username Username
*/
public void setUsername(String username) {
@@ -196,6 +201,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set API key value for the first API key authentication.
*
* @param apiKey the API key
*/
public void setApiKey(String apiKey) {
@@ -210,6 +216,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set API key prefix for the first API key authentication.
*
* @param apiKeyPrefix API key prefix
*/
public void setApiKeyPrefix(String apiKeyPrefix) {
@@ -225,6 +232,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set access token for the first OAuth2 authentication.
*
* @param accessToken Access token
*/
public void setAccessToken(String accessToken) {
@@ -240,6 +248,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Set the User-Agent header's value (by adding to the default header map).
*
* @param userAgent the user agent string
* @return ApiClient this client
*/
@@ -280,7 +289,7 @@ public class ApiClient extends JavaTimeFormatter {
public void setDebugging(boolean debugging) {
List<ClientHttpRequestInterceptor> currentInterceptors = this.restTemplate.getInterceptors();
if(debugging) {
if (debugging) {
if (currentInterceptors == null) {
currentInterceptors = new ArrayList<ClientHttpRequestInterceptor>();
}
@@ -325,9 +334,9 @@ public class ApiClient extends JavaTimeFormatter {
*/
public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
for (HttpMessageConverter converter : restTemplate.getMessageConverters()) {
if (converter instanceof AbstractJackson2HttpMessageConverter) {
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
mapper.setDateFormat(dateFormat);
}
}
@@ -336,6 +345,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Parse the given string into Date object.
*
* @param str the string to parse
* @return the Date parsed from the string
*/
@@ -349,6 +359,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Format the given Date object into string.
*
* @param date the date to format
* @return the formatted date as string
*/
@@ -358,6 +369,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Format the given parameter object into string.
*
* @param param the object to convert
* @return String the parameter represented as a String
*/
@@ -370,8 +382,8 @@ public class ApiClient extends JavaTimeFormatter {
return formatOffsetDateTime((OffsetDateTime) param);
} else if (param instanceof Collection) {
StringBuilder b = new StringBuilder();
for(Object o : (Collection<?>) param) {
if(b.length() > 0) {
for (Object o : (Collection<?>) param) {
if (b.length() > 0) {
b.append(",");
}
b.append(String.valueOf(o));
@@ -397,7 +409,7 @@ public class ApiClient extends JavaTimeFormatter {
}
// collectionFormat is assumed to be "csv" by default
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -406,6 +418,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Converts a parameter to a {@link MultiValueMap} for use in REST requests
*
* @param collectionFormat The format to convert to
* @param name The name of the parameter
* @param value The parameter's value
@@ -418,7 +431,7 @@ public class ApiClient extends JavaTimeFormatter {
return params;
}
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -430,7 +443,7 @@ public class ApiClient extends JavaTimeFormatter {
return params;
}
if (valueCollection.isEmpty()){
if (valueCollection.isEmpty()) {
return params;
}
@@ -442,7 +455,7 @@ public class ApiClient extends JavaTimeFormatter {
}
List<String> values = new ArrayList<String>();
for(Object o : valueCollection) {
for (Object o : valueCollection) {
values.add(parameterToString(o));
}
params.add(name, collectionFormat.collectionToString(values));
@@ -452,6 +465,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Check if the given {@code String} is a JSON MIME.
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -474,6 +488,7 @@ public class ApiClient extends JavaTimeFormatter {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -483,6 +498,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Check if the given {@code String} is a Problem JSON MIME (RFC-7807).
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents Problem JSON, false otherwise
*/
@@ -534,6 +550,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Select the body to use for the request
*
* @param obj the body object
* @param formParams the form parameters
* @param contentType the content type of the request
@@ -546,6 +563,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Expand path template with variables
*
* @param pathTemplate path template with placeholders
* @param variables variables to replace
* @return path with placeholders replaced by variables
@@ -556,6 +574,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Include queryParams in uriParams taking into account the paramName
*
* @param queryParam The query parameters
* @param uriParams The path parameters
* return templatized query string
@@ -619,21 +638,21 @@ public class ApiClient extends JavaTimeFormatter {
//Append to finalUri the templatized query string like "?param1={param1Value}&.......
finalUri += "?" + queryUri;
}
String expandedPath = this.expandPath(finalUri,uriParams);
String expandedPath = this.expandPath(finalUri, uriParams);
final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath);
URI uri;
try {
uri = new URI(builder.build().toUriString());
} catch(URISyntaxException ex) {
} catch (URISyntaxException ex) {
throw new RestClientException("Could not build URL: " + builder.toUriString(), ex);
}
final BodyBuilder requestBuilder = RequestEntity.method(method, uri);
if(accept != null) {
if (accept != null) {
requestBuilder.accept(accept.toArray(new MediaType[accept.size()]));
}
if(contentType != null) {
if (contentType != null) {
requestBuilder.contentType(contentType);
}
@@ -662,7 +681,7 @@ public class ApiClient extends JavaTimeFormatter {
protected void addHeadersToRequest(HttpHeaders headers, BodyBuilder requestBuilder) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
List<String> values = entry.getValue();
for(String value : values) {
for (String value : values) {
if (value != null) {
requestBuilder.header(entry.getKey(), value);
}
@@ -672,6 +691,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Add cookies to the request that is being built
*
* @param cookies The cookies to add
* @param requestBuilder The current request
*/
@@ -713,9 +733,9 @@ public class ApiClient extends JavaTimeFormatter {
RestTemplate restTemplate = new RestTemplate(messageConverters);
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
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);
@@ -773,9 +793,9 @@ public class ApiClient extends JavaTimeFormatter {
private String headersToString(HttpHeaders headers) {
StringBuilder builder = new StringBuilder();
for(Entry<String, List<String>> entry : headers.entrySet()) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
builder.append(entry.getKey()).append("=[");
for(String value : entry.getValue()) {
for (String value : entry.getValue()) {
builder.append(value).append(",");
}
builder.setLength(builder.length() - 1); // Get rid of trailing comma

View File

@@ -69,6 +69,7 @@ public class ApiClient extends JavaTimeFormatter {
CSV(","), TSV("\t"), SSV(" "), PIPES("|"), MULTI(null);
private final String separator;
private CollectionFormat(String separator) {
this.separator = separator;
}
@@ -125,6 +126,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Get the current base path
*
* @return String the base path
*/
public String getBasePath() {
@@ -133,6 +135,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Set the base path, which should include the host
*
* @param basePath the base path
* @return ApiClient this client
*/
@@ -143,6 +146,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Get authentications (key: authentication name, value: authentication).
*
* @return Map the currently configured authentication types
*/
public Map<String, Authentication> getAuthentications() {
@@ -162,6 +166,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set username for the first HTTP basic authentication.
*
* @param username Username
*/
public void setUsername(String username) {
@@ -191,6 +196,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set API key value for the first API key authentication.
*
* @param apiKey the API key
*/
public void setApiKey(String apiKey) {
@@ -205,6 +211,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set API key prefix for the first API key authentication.
*
* @param apiKeyPrefix API key prefix
*/
public void setApiKeyPrefix(String apiKeyPrefix) {
@@ -220,6 +227,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Helper method to set access token for the first OAuth2 authentication.
*
* @param accessToken Access token
*/
public void setAccessToken(String accessToken) {
@@ -235,6 +243,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Set the User-Agent header's value (by adding to the default header map).
*
* @param userAgent the user agent string
* @return ApiClient this client
*/
@@ -275,7 +284,7 @@ public class ApiClient extends JavaTimeFormatter {
public void setDebugging(boolean debugging) {
List<ClientHttpRequestInterceptor> currentInterceptors = this.restTemplate.getInterceptors();
if(debugging) {
if (debugging) {
if (currentInterceptors == null) {
currentInterceptors = new ArrayList<ClientHttpRequestInterceptor>();
}
@@ -320,9 +329,9 @@ public class ApiClient extends JavaTimeFormatter {
*/
public ApiClient setDateFormat(DateFormat dateFormat) {
this.dateFormat = dateFormat;
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
for (HttpMessageConverter converter : restTemplate.getMessageConverters()) {
if (converter instanceof AbstractJackson2HttpMessageConverter) {
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter) converter).getObjectMapper();
mapper.setDateFormat(dateFormat);
}
}
@@ -331,6 +340,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Parse the given string into Date object.
*
* @param str the string to parse
* @return the Date parsed from the string
*/
@@ -344,6 +354,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Format the given Date object into string.
*
* @param date the date to format
* @return the formatted date as string
*/
@@ -353,6 +364,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Format the given parameter object into string.
*
* @param param the object to convert
* @return String the parameter represented as a String
*/
@@ -365,8 +377,8 @@ public class ApiClient extends JavaTimeFormatter {
return formatOffsetDateTime((OffsetDateTime) param);
} else if (param instanceof Collection) {
StringBuilder b = new StringBuilder();
for(Object o : (Collection<?>) param) {
if(b.length() > 0) {
for (Object o : (Collection<?>) param) {
if (b.length() > 0) {
b.append(",");
}
b.append(String.valueOf(o));
@@ -392,7 +404,7 @@ public class ApiClient extends JavaTimeFormatter {
}
// collectionFormat is assumed to be "csv" by default
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -401,6 +413,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Converts a parameter to a {@link MultiValueMap} for use in REST requests
*
* @param collectionFormat The format to convert to
* @param name The name of the parameter
* @param value The parameter's value
@@ -413,7 +426,7 @@ public class ApiClient extends JavaTimeFormatter {
return params;
}
if(collectionFormat == null) {
if (collectionFormat == null) {
collectionFormat = CollectionFormat.CSV;
}
@@ -425,7 +438,7 @@ public class ApiClient extends JavaTimeFormatter {
return params;
}
if (valueCollection.isEmpty()){
if (valueCollection.isEmpty()) {
return params;
}
@@ -437,7 +450,7 @@ public class ApiClient extends JavaTimeFormatter {
}
List<String> values = new ArrayList<String>();
for(Object o : valueCollection) {
for (Object o : valueCollection) {
values.add(parameterToString(o));
}
params.add(name, collectionFormat.collectionToString(values));
@@ -447,6 +460,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Check if the given {@code String} is a JSON MIME.
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -469,6 +483,7 @@ public class ApiClient extends JavaTimeFormatter {
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents JSON, false otherwise
*/
@@ -478,6 +493,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Check if the given {@code String} is a Problem JSON MIME (RFC-7807).
*
* @param mediaType the input MediaType
* @return boolean true if the MediaType represents Problem JSON, false otherwise
*/
@@ -529,6 +545,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Select the body to use for the request
*
* @param obj the body object
* @param formParams the form parameters
* @param contentType the content type of the request
@@ -541,6 +558,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Expand path template with variables
*
* @param pathTemplate path template with placeholders
* @param variables variables to replace
* @return path with placeholders replaced by variables
@@ -551,6 +569,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Include queryParams in uriParams taking into account the paramName
*
* @param queryParam The query parameters
* @param uriParams The path parameters
* return templatized query string
@@ -614,21 +633,21 @@ public class ApiClient extends JavaTimeFormatter {
//Append to finalUri the templatized query string like "?param1={param1Value}&.......
finalUri += "?" + queryUri;
}
String expandedPath = this.expandPath(finalUri,uriParams);
String expandedPath = this.expandPath(finalUri, uriParams);
final UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(basePath).path(expandedPath);
URI uri;
try {
uri = new URI(builder.build().toUriString());
} catch(URISyntaxException ex) {
} catch (URISyntaxException ex) {
throw new RestClientException("Could not build URL: " + builder.toUriString(), ex);
}
final BodyBuilder requestBuilder = RequestEntity.method(method, uri);
if(accept != null) {
if (accept != null) {
requestBuilder.accept(accept.toArray(new MediaType[accept.size()]));
}
if(contentType != null) {
if (contentType != null) {
requestBuilder.contentType(contentType);
}
@@ -657,7 +676,7 @@ public class ApiClient extends JavaTimeFormatter {
protected void addHeadersToRequest(HttpHeaders headers, BodyBuilder requestBuilder) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
List<String> values = entry.getValue();
for(String value : values) {
for (String value : values) {
if (value != null) {
requestBuilder.header(entry.getKey(), value);
}
@@ -667,6 +686,7 @@ public class ApiClient extends JavaTimeFormatter {
/**
* Add cookies to the request that is being built
*
* @param cookies The cookies to add
* @param requestBuilder The current request
*/
@@ -700,9 +720,9 @@ public class ApiClient extends JavaTimeFormatter {
*/
protected RestTemplate buildRestTemplate() {
RestTemplate restTemplate = new RestTemplate();
for(HttpMessageConverter converter:restTemplate.getMessageConverters()){
if(converter instanceof AbstractJackson2HttpMessageConverter){
ObjectMapper mapper = ((AbstractJackson2HttpMessageConverter)converter).getObjectMapper();
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);
@@ -760,9 +780,9 @@ public class ApiClient extends JavaTimeFormatter {
private String headersToString(HttpHeaders headers) {
StringBuilder builder = new StringBuilder();
for(Entry<String, List<String>> entry : headers.entrySet()) {
for (Entry<String, List<String>> entry : headers.entrySet()) {
builder.append(entry.getKey()).append("=[");
for(String value : entry.getValue()) {
for (String value : entry.getValue()) {
builder.append(value).append(",");
}
builder.setLength(builder.length() - 1); // Get rid of trailing comma