2

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 の要素のリストが応答の一部である場合に発生します。

以下は、スプリング レスト テンプレートの構成です。

<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)

問題を解決するための情報を入力してください。

4

2 に答える 2

0

前述のように、"userinput"有効な JSON (例{"userinput" : {"dataKey" : "dataValue"}}) である必要があります。また、"ServiceUrl"提供したスニペットの実際の URL のプレースホルダーであるかどうかも明確ではありません。URL も有効であることを確認してください。

于 2013-06-29T11:52:41.440 に答える