当前位置: 首页 > 知识库问答 >
问题:

Spring RestTemplate Post获取500内部服务器错误

游鸣
2023-03-14

嗨,我是Spring框架的新手。我已经编写了应用程序,其中发布对象RESTAPI使用Rest模板,但我得到了这个错误

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个答案

乜烨霖
2023-03-14

似乎您没有正确设置标题Content-Type与应用程序/json

      HttpHeaders headers = new HttpHeaders();
      headers.setContentType(MediaType.APPLICATION_JSON);

      HttpEntity<String> entity = new HttpEntity<String>(postBodyJson ,headers);
      restTemplate.put(uRL, entity);
柴英光
2023-03-14

您可以尝试以下代码

@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;
}
 类似资料:
  • 问题内容: 我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。 我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的: xmlhttp.status == 500(内部服务器错误)。 我注释掉了所有递归,因此将其范围缩小到了这

  • 我收到以下错误 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员,webmaster@strivemedicare.in并告知他们错误发生的时间,以及可能导致错误的任何行为。 有关此错误的详细信息,请参阅服务器错误日志。 此外,尝试使用错误文档处理请求时遇到 500 内部服务器错误错误。

  • 我在做一个春靴项目, 我正试图从邮递员发送get请求,但我得到500个内部服务器错误。 控制器: } 型号:

  • 我一直试图在nginx上安装CakePHP,但我遇到了一个死胡同。尝试访问web根目录时,我收到一个500内部服务器错误。我在我的错误中得到了这个错误。日志: PHP消息:PHP致命错误:require():无法打开required'/var/www/html/test/vendor/autoload。php'(include_path='。:/usr/share/php:/usr/share/p

  • 我想用ajax向laravel中的控制器发送post请求。ajax请求发送两个输入参数,我希望controller在数据库中找到包含第一个参数的列,然后使用第二个输入参数设置name属性。但是我在控制台500中有这个错误消息(内部服务器错误)。 Ajax功能: 路线: 控制器功能: 而且我导入csrf无处不在,因为上次当我做AJAX调用我有这个csrf的问题,下面的代码已经修复了我的问题,但现在不

  • 所以我用拉雷维尔和护照,我有问题。当我向我的AuthController@login这是给我一个500内部服务器错误。以下是我的工作内容 我将laragon与apache服务器和mysql一起用于Environment。我可以毫无问题地向我的注册路径发出请求,但我的登录路径一直失败。不确定我错过了什么 这是我的AuthController。php 这是我存储在中的变量。环境文件 这是我的api路由