java Rest工具类封装


@Slf4j
public class RestTmpBaseServiceImpl {
    @Autowired
    public RestTemplate restTemplate;


    public HttpHeaders buildHeader(){
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("Authorization","Bearer "+"token");
        return headers;
    }


    public HttpEntity<Map<String,Object>> buildHttpRequest(Map<String, Object> body){
        HttpEntity<Map<String,Object>> request = new HttpEntity<>(body, buildHeader());
        return request;
    }

    public  ResponseEntity<Map> buildPostForMapEntity(String url,Map<String,Object> body){
        try{
            HttpEntity<Map<String,Object>> request = buildHttpRequest(body);
            
            log.info("请求地址:"+url);
            log.info(("请求参数:"+ JSONObject.toJSONString(body)));
            ResponseEntity<Map> response = restTemplate.postForEntity(url, request, Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response.getBody())));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }

    public  ResponseEntity<String>  buildPostForString(String url,Map<String,Object> body){
        return buildPostForStringByUrl(url,body);
    }

    public  ResponseEntity<String>  buildPostForStringByUrl(String url,Map<String,Object> body){
        try{
            HttpEntity<Map<String,Object>> request = buildHttpRequest(body);
            String reqUrl = url;
            log.info("请求地址:"+reqUrl);
            log.info(("请求参数:"+ JSONObject.toJSONString(body)));
            ResponseEntity<String> response = restTemplate.postForEntity(reqUrl, request, String.class);
            log.info("请求返回值:"+ response.getBody());
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }
    }

    public  Map buildPostForMap(String url,Map<String,Object> body){
        ResponseEntity<Map> response = buildPostForMapEntity(url,body);
        return response.getBody();
    }

    public JSONObject buildPostForJsonObject(String url,Map<String,Object> body){
        log.info("请求地址:"+url);
        log.info("请求参数:"+JSONObject.toJSONString(body));
        ResponseEntity<String> response = buildPostForString(url,body);
        return JSONObject.parseObject(response.getBody());
    }

    public JSONObject buildPostForJsonObjectByUrl(String url,Map<String,Object> body){
        log.info("请求地址:"+url);
        log.info("请求参数:"+JSONObject.toJSONString(body));
        ResponseEntity<String> response = buildPostForStringByUrl(url,body);
        return JSONObject.parseObject(response.getBody());
    }


    public  ResponseEntity<Map> buildGetBodyForMap(String url,Map<String,Object> params){
        try{
            HttpHeaders headers = buildHeader();
            HttpEntity<String> entity = new HttpEntity<>(JSONObject.toJSONString(params),headers);
            ResponseEntity<Map> response = restTemplate.exchange(url, HttpMethod.GET, entity,  Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response)));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }

    public  ResponseEntity<Map> buildGetForMap(String url,Map<String,Object> params){
        try{

            HttpHeaders headers = buildHeader();
            UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
            for (Map.Entry<String, Object> entry : params.entrySet()) {
                builder.queryParam(entry.getKey(), entry.getValue());
            }

            String reqUrl = builder.toUriString();

            log.info("请求地址:"+reqUrl);

            HttpEntity<String> entity = new HttpEntity<>(headers);
            ResponseEntity<Map> response = restTemplate.exchange(reqUrl, HttpMethod.GET, entity,  Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response)));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }

    public  ResponseEntity<Map> buildGetForMap(String url){
        try{
            log.info("请求地址:"+url);
            HttpHeaders headers = buildHeader();
            HttpEntity<String> entity = new HttpEntity<>(headers);
            ResponseEntity<Map> response = restTemplate.exchange(url, HttpMethod.GET, entity,  Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response)));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }

    public  ResponseEntity<Map> buildPutForMap(String url){
        try{
            log.info("请求地址:"+url);
            HttpHeaders headers = buildHeader();
            HttpEntity<String> entity = new HttpEntity<>(headers);
            ResponseEntity<Map> response = restTemplate.exchange(url, HttpMethod.PUT, entity,  Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response)));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }

    public  ResponseEntity<Map> buildPutForMapEntity(String url,Map<String,Object> body){
        try{
            HttpEntity<Map<String,Object>> request = buildHttpRequest(body);
            log.info("请求地址:"+url);
            log.info(("请求参数:"+ JSONObject.toJSONString(body)));
            ResponseEntity<Map> response = restTemplate.postForEntity(url, request, Map.class);
            log.info(("请求返回值:"+ JSONObject.toJSONString(response.getBody())));
            return response;
        }catch (Exception e){
            e.printStackTrace();
            log.error(("请求异常"+e.getMessage()));
            return null;
        }

    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河马开源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值