小程序开发定制restTemplate.postForObject调用接口,接口入参是@RequestParam的方案及其他使用

小程序开发定制最近在调用其他系统的接口时,小程序开发定制遇到的问题。由于接口文档给的写的模糊不清,导致接口一直没有调用通。后来索性要了代码权限自己看他写的接口。

一、接口入参是@RequestParam的post请求

1、接口方接口:

2、请求代码:

设置contentType为application/x-www-form-urlencoded 等同于URL后直接拼接参数。

  1. //header
  2. HttpHeaders header = new HttpHeaders();
  3. header.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
  4. //请求参数 param 设置header之后等同于 http://xxx/xxx?password=xxxxx
  5. MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
  6. paramMap.add("password", password);
  7. //httpEntity
  8. HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(paramMap, header);
  9. //JSONObject数据结果
  10. JSONObject result = restTemplate.postForObject(orgUrl, httpEntity, JSONObject.class);

二、接口是RequestBody

请求代码:

注:注释的代码是map格式的,在JSON解析的时候带有[]。使用哪种方式,还是要看接口方如何解析参数

  1. //header
  2. HttpHeaders header = new HttpHeaders();
  3. header.setContentType(MediaType.APPLICATION_JSON);
  4. //请求参数json body
  5. JSONObject params = new JSONObject();
  6. params.put("password", password);
  7. params.put("pageSize", 99999);
  8. params.put("pageNum", 1);
  9. //MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
  10. //multiValueMap.add("password", password);
  11. //multiValueMap.add("pageSize", 99999);
  12. //multiValueMap.add("pageNum", 1);
  13. //HttpEntity
  14. HttpEntity<JSONObject> httpEntity = new HttpEntity<>(params, header);
  15. //JSONObject数据结果
  16. JSONObject result = restTemplate.postForObject(userUrl, httpEntity, JSONObject.class);

=============================未完全总结postForObject,后续更新===============================

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发