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

关于网站建设的报告聚企360做的网站

关于网站建设的报告,聚企360做的网站,如何做网站导航栏的搜索引擎优化,刷网站排名 优帮云目录 1.统一数据格式返回 2.统一异常处理 3.接口返回String类型问题 1.统一数据格式返回 添加ControllerAdvice注解实现ResponseBodyAdvice接口重写supports方法,beforeBodyWrite方法 /*** 统一数据格式返回的保底类 对于一些非对象的数据的再统一 即非对象的封…

目录

1.统一数据格式返回

2.统一异常处理

3.接口返回String类型问题


1.统一数据格式返回

  1. 添加@ControllerAdvice注解
  2. 实现ResponseBodyAdvice接口
  3. 重写supports方法,beforeBodyWrite方法
/*** 统一数据格式返回的保底类 对于一些非对象的数据的再统一 即非对象的封装成对象再返回*/
@ControllerAdvice //控制器通知类
public class ResponseAdvice implements ResponseBodyAdvice {@Autowiredprivate ObjectMapper objectMapper;/*** 开关* true表示返回结果作统一处理* false不处理*/@Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return true;}// 该方法具体实现统一返回   @SneakyThrows@Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {if(body instanceof AjaxResult) {return body;}// 字符串比较特殊 是由于序列化问题导致// 对于字符串类型,可以使用SpringBoot提供的Jackson实现信息的序列化if(body instanceof String) {return objectMapper.writeValueAsString(body);}return AjaxResult.success("",body);}
}

String类型需要特殊处理的原因:类型转换异常。即序列化问题。

 由于我设置了统一返回类(code,msg,data),String类型的数据在上面第一步(返回的body中)就已经被包装成一个对象了,后续传参也都是泛型,直到调用 addDefaultHeaders 方法,接收却是String类型的。对象是不能自动转成String类型的。并且是String类型才会走上面的流程。

解决办法就是使用SpringBoot提供的Jackson库,可以将对象转成Json格式的字符串。即序列化。


2.统一异常处理

  1. 加ControllerAdvice注解(控制器通知类)
  2. 加ResponseAdvice注解(类上或方法上,表示返回的是非页面的数据)
  3. 加ExceptionHandler注解(在每个方法上加)
/*** 捕获项目运行中出现的异常,并进行统一异常的返回* 捕获流程 先捕获匹配具体的异常,没找到(即我们没定义),再往上到RunTimeException,没匹配到,就再往上到Exception 即按照异常继承关系往上找* 能不能捕获到具体的异常,要看我们自定义的方法中有没有写具体的异常*/
@ResponseBody //务必加 才能返回数据类型 不加返回页面 可以加类上或方法上
@ControllerAdvice
public class ErrorHandler {@ExceptionHandlerpublic AjaxResult handler(Exception e) {return AjaxResult.fail("内部发生异常");}@ExceptionHandlerpublic AjaxResult handler(RuntimeException e) {return AjaxResult.fail("内部发生异常");}@ExceptionHandlerpublic AjaxResult handler(NullPointerException e) {return AjaxResult.fail("空指针异常");}@ExceptionHandlerpublic AjaxResult handler(ArithmeticException e) {return AjaxResult.fail("算术异常");}}

3.接口返回String类型问题

接口返回String类型的数据时,需要转Json格式 。所以尽量少用,直接将String类型的数据包装在对象中返回即可。

http://www.yayakq.cn/news/94929/

相关文章:

  • 做平面设计必知的网站按城市亭湖建设局网站
  • 网站优化可以自己做么wordpress ins插件
  • 做网站和优化下载商城
  • 网站制作流程详解(学做网站第一步)漳浦网站建设
  • 做淘客应该知道的网站软件编程代码大全
  • 千助网站建设石龙仿做网站
  • 买个域名自己做网站吗seo专业学校
  • 教育类网站怎么做优化娃哈哈网络营销策划方案
  • 长沙室内设计工作室汕头seo代理商
  • 广东建设工程信息网站搜索技巧的网站
  • 网站域名授权西城区网站建设推广seo
  • 企业网站seo哪里好什么软件能把做的网站上传
  • 帝国做企业网站衡阳seo优化
  • 广州网站建设排名运营推广岗位职责
  • 公司企业网站源码网站备案在哪里备案
  • 遵义建站公司名字大全10000个
  • 推广的网站有哪些南山区宝安区福田区
  • 套模版做网站html5网站下载
  • 乡村旅游电子商务网站建设哈尔滨专业做网站公司
  • 全球排名前十网站建站wordpress
  • 光明区建设局网站网站建设十佳
  • 能做wordpress的网站汉中专业网站建设
  • 免费舆情网站下载百度浏览器app下载
  • 石家庄+外贸网站建设公司cpa广告网站怎么做
  • 如何韩国视频网站模板下载 迅雷下载运营者邮箱怎么注册
  • 优设网站怎么下载绍兴网站制作公司
  • 昆明网站seo外包网站建设进展报告
  • wix做的网站在国内访问不了dw中用php做网站
  • 淄博市网站开发影视公司排行榜
  • 凡科建站怎么建网站如何用图片文字做网站