Bleow 是必须使用 Spring Rest Template 将其转换为对象的 json。
{"userResponse": {
"build": 1,
"code": 400,
"status": "Failed",
"validationErrors": [
{
"fieldName": "userId",
"message": "User Id is NOT in valid format"
},
{
"fieldName": "password",
"message": "Password cannot be less than 8 characters"
}
]
}}
当validationErrors 的元素列表是响应的一部分时,问题就在这里。
下面是spring rest模板配置。
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" >
<property name="supportedMediaTypes" value="application/json" />
</bean>
</list>
</property>
</bean>
下面是调用 postForObject 的代码。
restTemplate.postForObject( "ServiceUrl", "userinput", Registration.class );
下面是调用服务时抛出的错误。
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:90)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:494)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:451)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:409)
请提供一些输入来解决问题。