【问题标题】:Spring Boot RestTemplate: Error 415 Unsupported Media TypeSpring Boot RestTemplate:错误 415 不支持的媒体类型
【发布时间】:2017-05-04 14:42:39
【问题描述】:

我使用下面的代码来调用一个 REST Web API,

WebTarget target = client.target(CommonConfig.getProperty(APIX_SEND_EMAIL_URL));
Response response = target.request("application/json")
                          .accept(MediaType.APPLICATION_JSON_TYPE)
                          .header("Authorization", token)
                          .post(Entity.json(email));

现在我想使用 Spring Boot RestTemplate 来调用这个 Web 服务,我正在使用以下代码:

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
List<MediaType> mediaList = new ArrayList<MediaType>();
mediaList.add(MediaType.APPLICATION_JSON);
mediaList.add(MediaType.TEXT_PLAIN);
headers.setAccept(mediaList);
//Json is the json object of the request data
HttpEntity<String> entity = new HttpEntity<String>(json.toString(), headers);

ResponseEntity<String> loginResponse = restTemplate
                  .exchange(url, HttpMethod.POST, entity, String.class);

但我收到错误 415 不支持的媒体类型。任何人都可以帮助我了解错误的原因,如何使用 RestTemplate 修复它?

【问题讨论】:

    标签: java spring spring-boot jax-rs resttemplate


    【解决方案1】:

    为什么不使用 RestTemplate 的 postForObject() 方法?

    SomeObject json = SomeObject();
    SomeOtherObject response = restTemplate.postForObject("url", json , SomeOtherObject.class);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-03
      • 2020-06-26
      • 2021-10-12
      • 2016-09-10
      • 2015-06-18
      • 1970-01-01
      • 2017-06-21
      • 2018-10-13
      相关资源
      最近更新 更多