这是合约。
我发送了一个 postForObject 。在 postForObject 中,我必须发送 2 对象:
我已经尝试了很多方法,但我总是从服务器收到 400(BAD REQUEST),即使与 CURL 一起使用的方式相同的 PHP 即可。 (我已经检查了curl php脚本发送的参数,并且正是我上面描述的两个参数)
所以,这是我的问题:
P.S。: 我已经完成了多个 getForObject 功能。我真的只需要 HOW 的方式我能用 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