yunxingyubu

工作中遇到实名认证的接口
需要调第三方API
所以顺便学一下RestTemplate 的使用
但是传post的时候怎么放入请求头是一个问题

教程

我使用的方法

我出现的问题
我发的json请求 事实上这个api是query parameter

当然不能忘了加appCode在请求头

最后成功的代码

 @PostMapping(value = "/testPostApi")
    public Object testPost(@RequestBody JSONObject param) throws URISyntaxException {
        RestTemplate restTemplate = new RestTemplate();
        URI uri = new URI("https://eid.shumaidata.com/eid/check");
        String appCode = "52cc0ea3aaf24eb7a1250f327fea9f25";
        HttpHeaders headers = new HttpHeaders(); 
        headers.add("Authorization", "APPCODE " + appCode); 
        //添加参数,因为HttpEntity里面的参数是MultiValueMap类型的,所以使用这个map集合 
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); 
        map.add("idcard","4211216456563582416");  
        map.add("name", "张ad");
        //添加请求的实体类,这里第一个参数是要发送的参数,第二个参数是请求头里的数据
        HttpEntity<Object> requestEntity = new HttpEntity<>(map, headers);
        //跟下面使用交换机的方法结果一样   
        ResponseEntity<String> exchange = restTemplate.exchange(uri, HttpMethod.POST, requestEntity, String.class);
        JSONObject jsonObject = JSON.parseObject(exchange.getBody());
        System.out.println(jsonObject);
        return jsonObject;
    }

分类:

技术点:

相关文章:

  • 2021-10-01
  • 2022-03-06
  • 2022-12-23
  • 2021-11-20
  • 2021-12-26
  • 2022-01-08
  • 2022-01-01
猜你喜欢
  • 2021-10-27
  • 2021-11-17
  • 2021-11-22
  • 2021-12-21
  • 2021-11-20
  • 2022-12-23
  • 2021-11-29
相关资源
相似解决方案