1

这是交易。

我有一个postForObject要发送。在那个postForObject中,我必须发送2 个对象:

  • 名称为“DATA”JSON对象(例如:data={"client":"name","id":"3"})
  • 一个名为“ SESSION_TOKEN ”的字符串(例如:session_token="abc")

我已经尝试了很多方法来做到这一点,但我总是从服务器收到400 (BAD REQUEST),即使在PHP中与CURL使用的方式相同。(我已经检查了 curl php 脚本发送的参数,并且正是我上面描述的两个)

所以,这是我的问题:

  1. 我如何管理/创建这2 个参数(正在序列化的 JSON)并通过postForObject发送?有人可以逐步解释这个过程吗?(所以我可以很好地理解这个问题,因为我是 Java/Spring 的新手)

PS: 我已经做了多个运行良好的getForObject函数。我真的只需要如何使用postForObject传递这些参数(1 个 Json序列化和 1 个字符串)。

--------------------------------------------------

更新 (发送帖子参数现在正在工作)

我已通过postForObject成功发送 POST 数据

只需像这样创建 RestTemplate :

RestTemplate restTemplate = new RestTemplate();

HttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
HttpMessageConverter stringHttpMessageConverternew = new StringHttpMessageConverter();

并且必须使用MultiValueMap创建属性,如下所示:

    MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
    map.add("session_token",session_token);

然后,完成,发送postForObject是这样的:

    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

    String result = restTemplate.postForObject(API_URL + "company/6788/appointment/", map, String.class);

现在的问题是:

这是完全像这样序列化JSON的最佳方法 :

{"client_email":"kalvinmoraes@gmail.com","client_name":"Alexandre Moraes"}

%7B%22client_email%22%3A%22kalvinmoraes%40gmail.com%22%2C%22client_name%22%3A%22Alexandre%20Moraes%22%7D
4

0 回答 0