Bleow是必須通過使用Spring Rest模板轉換爲對象的json。Spring RestTemplate的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的元素列表是響應的一部分時,問題出現在這裏。
下面是彈簧休息模板配置。
<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)
請提供一些意見以解決問題。
你的'Registration'類是什麼樣的? –