java后端调用接口Basic auth认证

该方法接收一个JSON字符串参数phoneNum  内容:   {"phone":"13712312312"}
然后解析参数中的手机号,作为data去调用URL接口,接收接口返回的复合JSON并解析,拿到想要的数据



public String queryUserResumeURLInfo(String phoneNum) {

        System.out.println("this is phoneNum: ======"+phoneNum);

        if(phoneNum.length() == 0){
            log.info("手机号为空!" );
            return null;
        }
        // 请求地址
        String url = "访问认证的URL";
        HttpHeaders headers = new HttpHeaders();
        String mediaType = MediaType.APPLICATION_JSON_VALUE;
        headers.setContentType(MediaType.parseMediaType(mediaType));
        headers.set("Accept", mediaType);
//        headers.set("Basic Auth", "uVJowCwUE08z2Hfw0aLXTZvZo66C19Rk");

        headers.set("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString(("用户名" + ":" + "密码").getBytes()));



        Map<String, Object> map = new HashMap<>();

//传递参数,这里解析了传进来的JSON类型的手机号,并作为参数传给调用的接口
        map.put("phone", phoneNum.substring(phoneNum.indexOf(":")+2,phoneNum.lastIndexOf("}")-1));
        JSONObject json = new JSONObject(map);

//        System.out.println("this is json: ======"+json.toString());

        HttpMethod method = HttpMethod.POST;
        try {
            ResponseEntity<JSONObject> result = RestUtil.request(url, method, headers, null, json, JSONObject.class);
            if (result != null && result.getBody() != null) {
                log.info("返回结果:{}" ,result.getBody().toJSONString());

                JSONObject jsonObject = JSONObject.parseObject(result.getBody().toString());

               String resumeDataInfo =jsonObject.getJSONArray("data").getJSONObject(0).getJSONObject("basicInfo").getString("ehrCandidateExternalLink");
//               System.out.println("this is data:-------"+resumeDataInfo);

                return resumeDataInfo;

            } else {
                log.warn("查询失败,url={}",url);
            }
        }catch (Exception e){
            log.error("查询发生异常,url={}",url,e);
        }


        return null;
    }

其中fastJSON解析复杂JSON文本

java中fastJSON解析复合-CSDN博客

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值