springboot 请求第三方接口 工具类

  <!--Httpclient-->
  <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.0.2</version>
  </dependency>

这边因为业务需要,需要单独起一个服务,去请求内网接口,博主请求都是post 类型的。

@Slf4j
@Component
public class HttpUtils {

    @Value("${sys.url}")
    private  String url;

    @Value("${sys.userName}")
    private  String userName;

    @Value("${sys.userPwd}")
    private  String userPwd;

    public  static List<ImeiResult> list = new ArrayList<>();

    /**
     * 获取Token
     * @return
     */
    public  String getToken(){
        String token = null;

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //设置类型
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);

        HttpEntity<SysUser> formEntity = new HttpEntity<>(new SysUser(userName,userPwd), headers);
        //发送数据方法
        ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
        //得到返回的数据body
        JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
        String success = jsonObject.get("code").toString();
        if(success.equals("0")){
           token =  jsonObject.get("data").toString();
        }else{
            String message = jsonObject.get("message").toString();
            log.error(message);
            return message;
        }
        return  token;
    }

    /**
     * @param param
     * @param url
     * @return
     */
    public static  Result savePostJosn(String param, String url){
        String msg = null;
        // 转json格式
        JSONObject parseObject = null;
        if(StringUtils.isEmpty(param)){
            msg = "数据异常,请检查后重新推送";
            log.error(msg);
            return Result.error(msg);
        }
        try{
            parseObject = JSONObject.parseObject(param);
        }catch (Exception e){
            log.error(e.getMessage());
            msg = "数据格式异常,请检查后重新推送";
            return Result.error(msg);
        }
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //设置类型
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);
        HttpEntity<JSONObject> formEntity = new HttpEntity<>(parseObject, headers);
        //发送数据方法
        ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
        //得到返回的数据body
        JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
        String code = jsonObject.get("code").toString();
        if(code.equals("1")){
            msg = "推送成功";
            return Result.success(msg);
        }else if(code.equals("0")){
            msg = "推送失败";
        }else{
            msg = jsonObject.get("message").toString();
        }
        return Result.error(msg);
    }

    /**
     * @param param
     * @param url
     * @return
     */
    public static Result saveGetStr(String param,String url){
        String msg = null;

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //设置类型
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);

        HttpEntity<Equipment> formEntity = new HttpEntity<>(new Equipment(param), headers);
        //发送数据方法
        ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
        //得到返回的数据body
        JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
        String code = jsonObject.get("code").toString();
        if(code.equals("1")){
            msg = "推送成功";
            return Result.success(msg);
        }else if(code.equals("0")){
            msg = "推送失败";
        }else{
            msg = jsonObject.get("message").toString();
        }
        return Result.error(msg);
    }

    /**
     * @param param
     * @param url
     * @return
     */
    public static Result getImei(String param,String url){
        String msg = null;

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        //设置类型
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);

        HttpEntity<Imei> formEntity = new HttpEntity<>(new Imei(param), headers);
        //发送数据方法
        ResponseEntity<String> forEntity = restTemplate.postForEntity(url, formEntity, String.class);
        //得到返回的数据body
        JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
        String code = jsonObject.get("code").toString();
        if(code.equals("1")){
            String data = jsonObject.get("data").toString();
            msg = data;
            return Result.success(msg);
        }else if(code.equals("0")){
            msg = "推送失败";
        }else{
            msg = jsonObject.get("message").toString();
        }
        return Result.error(msg);
    }

    /**
     * 远程控制所用
     * @param channelId
     * @param param
     */
    public static void getList(String channelId,String param){
        Result result = HttpUtils.getImei(param, "url");
        if(result.getCode().equals("200")){
            String string = result.getData().toString();
            JSONObject jsonObject = JSONObject.parseObject(string);
            String stationName = jsonObject.get("stationName").toString();
            String simNo = jsonObject.get("simNo").toString();
            // 
            ImeiResult imeiResult = new ImeiResult(channelId,stationName,simNo);
            log.info(imeiResult.toString());
            list.add(imeiResult);
        }
    }


    public static void main(String[] args) {
        String param ="89860445101980697675";
        Result result = HttpUtils.getImei(param, "url");
        System.out.println(result );
    }

返回的类型,在博主博客里找吧,都会贴出来的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值