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

中国建设部网站办事大厅重庆景点排名前十

中国建设部网站办事大厅,重庆景点排名前十,河南app定制,网站开发项目技能比赛获奖报道在web开发中&#xff0c;规范所有请求响应类型&#xff0c;不管是对前端数据处理&#xff0c;还是后端统一数据解析都是非常重要的。今天我们简单的方式实现如何实现这一效果 实现方式 定义响应类型 public class ResponseResult<T> {private static final String SUC…

在web开发中,规范所有请求响应类型,不管是对前端数据处理,还是后端统一数据解析都是非常重要的。今天我们简单的方式实现如何实现这一效果

实现方式

  1. 定义响应类型

public class ResponseResult<T> {private static final String SUCCESS_CODE = "000";private static final String FAILURE_CODE = "999";private String code;private String message;private T data;public static <T> ResponseResult<T> ok(T data){ResponseResult responseResult = new ResponseResult();responseResult.setCode(SUCCESS_CODE);responseResult.setData(data);return responseResult;}public static ResponseResult fail(String code, String message){if( code == null ){code = FAILURE_CODE;}ResponseResult responseResult = new ResponseResult();responseResult.setCode(code);responseResult.setMessage(message);return responseResult;}public static ResponseResult fail(String message){return fail(FAILURE_CODE, message);}
}
  1. 定义统一的异常处理流程,通过@RestControllerAdvice@ExceptionHandler注解可以对Controller中的异常统一处理

@RestControllerAdvice
public class ControllerAdviceHandle {@ExceptionHandler(Exception.class)public ResponseResult handleException(Exception exception) {BusException busException;if (exception instanceof BusException asException) {busException = asException;} else {busException = convertException(exception);}return ResponseResult.fail(busException.getCode(), busException.getMessage());}
}
  1. 定义统一响应拦截,通过是实现接口ResponseBodyAdvice,这里可以和上面的异常一起处理

public class ControllerAdviceHandle implements ResponseBodyAdvice {@Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return true;}@Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType,ServerHttpRequest request, ServerHttpResponse response) {if( body instanceof ResponseResult){return body;}return ResponseResult.ok(body);}
}
  1. 定义spring配置,实现自动装配

在resource目录添加自动注入配置META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,这样通过引入jar就可以自动使用该配置

cn.cycad.web.response.ResponseConfig

应用示例

  1. 比如现在有一个User实体,我们通过继承基类

@RestController
@RequestMapping("/test")
public class TestController {@GetMapping("/{val}")public Object get(@PathVariable("val") String val) throws BusException {if( "1".equals(val) ){throw new BusException("参数错误");}return Map.of("val",val);}}
  1. 通过调用请求,可以看到不管是否异常,结果都是下面的格式

{"code": "999","message": null,"data": null
}
http://www.yayakq.cn/news/732431/

相关文章:

  • 十大门户网站北京业之峰装饰有限公司
  • 做二手的网站都有哪些天津关键词排名提升
  • 北京网站建设icp有限公司快速建设网站方案
  • 保定市做网站公司地址电话原画师
  • 微网站开发用什么技术宝安做棋牌网站建设
  • 建行手机网站做网站有什么不好
  • 昆明网站设计8888168亚马逊跨境电商新手入门
  • 九江市建设工程质量监督站网站建网站html5
  • 模板网站建设公司电话网站做用户记录
  • 网站建设解决方案ppt注册网站是什么意思
  • 青浦专业网站建设高碑店市建设局网站
  • 网站建设 今网科技主题字体wordpress
  • 青岛网站建设团队wordpress 缩略图模糊
  • 鑫三科技网站设计公司网站开发方案
  • 岳阳设计网站推荐留学网站建设多少钱
  • 免费创建个人博客网站离线网页制作工具
  • 网站开发服务费计入哪项费用企业网站seo报价
  • 广州网站设计公司兴田德润在那里温州专业微网站制作电话
  • 上海网站建设咨如何做国际网站产品宣传
  • 网站建设谢辞wordpress好看的中文主题
  • 成都微网站开发下载网站app
  • 做那个网站的图客比较好网站未备案
  • 乡镇网站个人做可以不我的三次做网站的经历
  • 怎么做免费公司网站wordpress静态页制作
  • 网站开发工作流审批流电子商务网站
  • 网站建设方案模版小学网站logo怎么做
  • 为啥做网站百度怎么做网站广告
  • 微网站自助建站后台wordpress 优化方案
  • 先建设网站后付款wordpress文章密码
  • 原型样网站网站建设业务流程