当前位置: 首页 > 面试题库 >

通过REST中的RestTemplate的POST请求

松翔
2023-03-14
问题内容

我没有找到解决问题的示例,因此想向你寻求帮助。我不能简单地使用JSON中的RestTemplate对象发送POST请求

每当我得到:

org.springframework.web.client.HttpClientErrorException:415不支持的媒体类型

我以这种方式使用RestTemplate:

...
restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> list = new ArrayList<HttpMessageConverter<?>>();
list.add(new MappingJacksonHttpMessageConverter());
restTemplate.setMessageConverters(list);
...
Payment payment= new Payment("Aa4bhs");
Payment res = restTemplate.postForObject("http://localhost:8080/aurest/rest/payment", payment, Payment.class);

我怎么了


问题答案:

这项技术对我有用:

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

HttpEntity<String> entity = new HttpEntity<String>(requestJson, headers);
ResponseEntity<String> response = restTemplate.put(url, entity);

我希望这有帮助



 类似资料:
  • 我在Java客户端有以下代码,它调用基于Spring的REST服务,我得到一个HTTP 400错误。但它与POST man Client完美配合 Java客户端: 服务器端REST服务代码为 现在,当客户端发送请求时,它会给我http 400错误,这可能是因为在客户端,即时消息发送JSON字符串,而在服务器端,它是一个主体,但这在POST MAN上有效 谁能建议我如何通过Java向基于spring

  • 问题内容: 我正在尝试使用Socket处理Java中的简单POST请求。我可以接收请求标头并毫无问题地回答请求,但是我当然无法获取请求的正文。 我读过某个地方,我需要打开第二个InputStream来达到这个目的,但这对我来说真的没有意义。您对如何获取请求正文有任何建议吗? 这是我基本上用来获取标头的内容: 因此,我收到的消息是这样的: 但是我无法获取POST请求的参数。 编辑: 因此事实证明,我

  • 问题内容: 我有一个RESTful API,我正尝试通过Android和RestTemplate与之连接。通过设置HttpEntity的标头,然后使用RestTemplate的方法,对HTTP的所有请求均通过HTTP身份验证进行身份验证。 所有GET请求都可以通过这种方式很好地工作,但是我无法弄清楚如何完成经过身份验证的POST请求。和处理POST,但没有简单的方法来设置Authenticatio

  • 我使用Postman(chrome扩展)来测试这个REST服务,并且我能够成功地测试GET和DELETE:<code>http://localhost:8080/mt-rest/rest/user/321,但不是POST,即使在给出表单数据之后也是如此。我得到..服务器拒绝了此请求,因为请求实体的格式不受请求方法的请求资源的支持。我在这里做错了什么? 更新: 在我的POST方法中,我从@Reque

  • 谢谢你的帮助!向你问好,安迪

  • 我有一个简单的java spring方法来创建对象 无法提取响应:找不到响应类型[class Address]和内容类型[text/plain;charset=UTF-8]的合适的HttpMessageConverter 因此,我认为,我需要更改响应头内容类型,以正确的application/JSON,以便MappingJackson2HttpMessageConverter找到JSON字符串并运