Spring RestTemplate发布500内部服务器错误

时间:2014-10-30 17:53:57

标签: java json spring spring-mvc

您好我是Spring框架的新手。我已经使用Resttemplate编写了将REST对象发布到RESTAPI的应用程序,但是我收到了此错误

23:07:05.856 [main] DEBUG o.s.web.client.RestTemplate - Created POST request for
  "http://dummyurl.net/Index"    
23:07:05.887 [main] DEBUG o.s.web.client.RestTemplate - Setting request Accept
  header to [application/json, application/*+json]
23:07:05.887 [main] DEBUG o.s.web.client.RestTemplate - Writing
  [org.hrishi.ConsumeReStApi.Info@727803de] as "application/json" using
  [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter@704921a5]
23:07:05.981 [main] WARN  o.s.web.client.RestTemplate - POST request for "dummyurl.net"
 resulted in 500 (Internal Server Error); invoking error handler
Exception in thread "main" org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94)
    at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:598)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:556)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:512)
    at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:363)
    at org.hrishi.ConsumeReStApi.App.main(App.java:35)

这是我的代码

        String url=    "http://dummyurl.net/Index";    
        RestTemplate restTemplate = new RestTemplate();
        MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
        headers.add("Content-Type", "application/json");
        Info info1=new Info();
        info1.Id="1711";
        info1.Name="Hrishi";
        HttpEntity<Info> HReq=new HttpEntity<Info>(info1,headers);
        ResponseEntity<Info> info = restTemplate.postForEntity(url, HReq, Info.class);
        System.out.print("id : "+info.getBody());

,这是请求对象

public class Info {

    public String Id;
    public String Name;

    public String getName() {
        return Name;
    }

    public String getId() {
        return Id;
    }

}

2 个答案:

答案 0 :(得分:0)

您可以尝试以下代码:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Info {

@JsonProperty("Id")
    public String Id;

 @JsonProperty("Id")
    public String Name;

public String getName() {
    return Name;
}

public String getId() {
    return Id;
}

答案 1 :(得分:0)

似乎您没有使用“application/json”正确设置标题“内容类型”

{{1}}