当前位置: 首页 > wzjs >正文

播州区建设局网站重庆网页制作设计营销

播州区建设局网站,重庆网页制作设计营销,汉字域名注册,网站建设主结构今天写代码的时候&#xff0c;发现需要使用后台进行http请求的时候&#xff0c;发现自己没有一个请求的封装&#xff0c;这就很不好了&#xff0c;于是乎就要一劳永逸自己写一个工具类进行调用&#xff0c;话不多说开干&#xff01; 1.首先引入pom <dependency><grou…

今天写代码的时候,发现需要使用后台进行http请求的时候,发现自己没有一个请求的封装,这就很不好了,于是乎就要一劳永逸自己写一个工具类进行调用,话不多说开干!

1.首先引入pom

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency> 
<!--JSON--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version></dependency>
<!--    hutool工具    --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.9</version></dependency> 

 2.封装返回处理

比较简单的写了一下,使用自己项目里的就可以

public enum ResultCode {/* 成功 */SUCCESS(200, "成功"),/* 默认失败 */COMMON_FAIL(999, "失败"),/* 参数错误:1000~1999 */PARAM_NOT_VALID(1001, "参数无效"),PARAM_IS_BLANK(1002, "参数为空"),PARAM_TYPE_ERROR(1003, "参数类型错误"),PARAM_NOT_COMPLETE(1004, "参数缺失"),/* 业务错误 */NO_PERMISSION(3001, "没有权限");private Integer code;private String message;ResultCode(Integer code, String message) {this.code = code;this.message = message;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}/*** 根据code获取message** @param code* @return*/public static String getMessageByCode(Integer code) {for (ResultCode ele : values()) {if (ele.getCode().equals(code)) {return ele.getMessage();}}return null;}
}
/*** @Author: zm* @Description: 统一返回实体* @Date: 2022/4/24 8:51*/
public class JsonResult<T> implements Serializable {private Boolean success;private Integer errorCode;private String errorMsg;private T data;public JsonResult() {}public JsonResult(boolean success) {this.success = success;this.errorCode = success ? ResultCode.SUCCESS.getCode() : ResultCode.COMMON_FAIL.getCode();this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : ResultCode.COMMON_FAIL.getMessage();}public JsonResult(boolean success, ResultCode resultEnum) {this.success = success;this.errorCode = success ? ResultCode.SUCCESS.getCode() : (resultEnum == null ? ResultCode.COMMON_FAIL.getCode() : resultEnum.getCode());this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : (resultEnum == null ? ResultCode.COMMON_FAIL.getMessage() : resultEnum.getMessage());}public JsonResult(boolean success, T data) {this.success = success;this.errorCode = success ? ResultCode.SUCCESS.getCode() : ResultCode.COMMON_FAIL.getCode();this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : ResultCode.COMMON_FAIL.getMessage();this.data = data;}public JsonResult(boolean success, ResultCode resultEnum, T data) {this.success = success;this.errorCode = success ? ResultCode.SUCCESS.getCode() : (resultEnum == null ? ResultCode.COMMON_FAIL.getCode() : resultEnum.getCode());this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : (resultEnum == null ? ResultCode.COMMON_FAIL.getMessage() : resultEnum.getMessage());this.data = data;}public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}public Integer getErrorCode() {return errorCode;}public void setErrorCode(Integer errorCode) {this.errorCode = errorCode;}public String getErrorMsg() {return errorMsg;}public void setErrorMsg(String errorMsg) {this.errorMsg = errorMsg;}public T getData() {return data;}public void setData(T data) {this.data = data;}
}

public class ResultTool {public static <T> JsonResult<T> success() {return new JsonResult<T>(true);}public static <T> JsonResult<T> success(T data) {return new JsonResult<T>(true, data);}public static <T> JsonResult<T> fail() {return new JsonResult<T>(false);}public static <T> JsonResult<T> fail(ResultCode resultEnum) {return new JsonResult<T>(false, resultEnum);}public static <T> JsonResult<T> fail(boolean success,T data) {return new JsonResult<T>(false, data);}
}

3.封装http请求

我们基于hutool的HttpRequest请求进行自己代码的封装

package com.zm.test.utils;import cn.hutool.core.map.MapUtil;
import cn.hutool.http.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zm.test.commons.result.JsonResult;
import com.zm.test.commons.result.ResultTool;
import lombok.extern.slf4j.Slf4j;import java.util.HashMap;
import java.util.Map;/*** http请求处理* 默认json格式请求* @author zm* @date 2025/3/7*/
@Slf4j
public class HttpUtils {private static final Map<String,String> initHeaderMap= new HashMap<>();static {initHeaderMap.put(Header.CONTENT_TYPE.getValue(), ContentType.JSON.getValue());}/*** get请求* @param url 路径* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T> JsonResult<T> httpGet(String url, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.get(url).headerMap(initHeaderMap,false).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("GET请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("GET请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** get请求* @param url 路径* @param param 请求参数* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T> JsonResult<T> httpGet(String url, Map<String,Object> param,Class<T> clazz){try{HttpResponse getResponse=HttpRequest.get(url).headerMap(initHeaderMap,false).form(param).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("GET请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("GET请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** get请求自定义header* @param url 路径* @param param 请求参数* @param header 请求头* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T> JsonResult<T> httpGet(String url,Map<String,Object> param,Map<String,String> header, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.get(url).headerMap(MapUtil.isEmpty(header)?initHeaderMap:header,false).form(param).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("GET请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("GET请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** post请求* @param url 路径* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T> JsonResult<T> httpPost(String url,Map<String,Object> param, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.post(url).headerMap(initHeaderMap,false).form(param).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("POST请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("POST请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** post请求* @param url 路径* @param header 请求头* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T> JsonResult<T> httpPost(String url,Map<String,Object> param,Map<String,String> header, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.post(url).headerMap(MapUtil.isEmpty(header)?initHeaderMap:header,false).form(param).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("POST请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("POST请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** post请求* @param url 路径* @param param 请求传参* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T,E> JsonResult<T> httpPost(String url,E param, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.post(url).headerMap(initHeaderMap,false).body(JSON.toJSONString(param)).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("POST请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("POST请求失败:{}",e.getMessage());return ResultTool.fail();}}/*** post请求* @param url 路径* @param param 请求传参* @param header 请求头* @param clazz 返回实体* @param <T> 自定义实体* @return T*/public static <T,E> JsonResult<T> httpPost(String url,E param,Map<String,String> header, Class<T> clazz){try{HttpResponse getResponse=HttpRequest.post(url).headerMap(MapUtil.isEmpty(header)?initHeaderMap:header,false).body(JSON.toJSONString(param)).execute();String body=getResponse.body();if(getResponse.isOk()){return ResultTool.success(JSONObject.parseObject(body, clazz));}log.info("POST请求错误:返回状态码:{},返回信息:{}",getResponse.getStatus(),body);return ResultTool.fail(false,JSONObject.parseObject(body, clazz));}catch (HttpException e){log.error("POST请求失败:{}",e.getMessage());return ResultTool.fail();}}
}

完成收工!!!

http://www.dtcms.com/wzjs/558507.html

相关文章:

  • 云南网站建设维修公司网站设计的主要风格
  • 直播网站开发多少钱网站一年了百度不收录
  • 织梦网站怎么重新安装徐州百度运营中心
  • 邹城网站建设zc273500免费网站建设ppt模板下载
  • 设计一个网站的优势如何在手机做网站
  • wordpress最大图片尺寸外包seo服务口碑好
  • 用npp做网站微信网页版app
  • 苏州网站建设 苏州网络推广专家洛阳网站设计哪家专业
  • 中小企业网站的建设实践报告诊所网站建设
  • 国家标准物质网站建设企业网站建设能解决什么问题
  • 如何给网站添加icon自己做动画网站
  • 北辰手机网站建设wordpress2019
  • 网站导航栏怎么做简单家居用品东莞网站建设
  • 地图网站怎么做的数据分析软件哪个最好用
  • 营销型网站有哪些功能wordpress 中文名注册
  • 企业网站展示论文常州高端网站定制公司
  • 深圳建网站需要多少钱wordpress购买
  • 桂林北站附近住宿视频素材库网站下载
  • 做网站的介绍无锡网站排名优化费用
  • 大英哪里有做网站的在百度上怎么建立网站吗
  • 西城企业网站建设徐汇微信手机网站制作
  • 网站在百度搜索不到婚纱摄影网
  • 订阅号栏目里做微网站wordpress背景
  • 食品饮料网站源码东莞seo优化排名
  • h5响应式网站技术唐山做网站优化
  • 建设大学网站服务兼职做网站编辑
  • 小说网站的里面的搜索是怎么做的网站页面设计怎么收费
  • 如何做网站公司怎么做网络销售的网站
  • 烟台免费网站建设app展示网站模板
  • wap网页开发wordpress优化提速