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

境外网站在国内做镜像网站制作策划书

境外网站在国内做镜像,网站制作策划书,wordpress仿next主题,高端品牌vi设计公司在 Spring Boot 项目中,统一的数据格式返回是一种良好的实践,它提高了代码的可维护性和一致性,并改善了客户端与服务端之间的通信。本文将介绍如何在 Spring Boot 中实现统一的数据格式返回。 1 为什么需要统一数据返回格式 ⽅便前端程序员更…

在 Spring Boot 项目中,统一的数据格式返回是一种良好的实践,它提高了代码的可维护性和一致性,并改善了客户端与服务端之间的通信。本文将介绍如何在 Spring Boot 中实现统一的数据格式返回。


1 为什么需要统一数据返回格式

  1. ⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据。
  2. 降低前端程序员和后端程序员的沟通成本,按照某个格式实现就⾏了,因为所有接⼝都是这样返回的。
  3. 有利于项⽬统⼀数据的维护和修改。
  4. 有利于后端技术部⻔的统⼀规范的标准制定,不会出现稀奇古怪的返回内容。

2 统一数据返回格式的实现

统⼀的数据返回格式可以使⽤ @ControllerAdvice + ResponseBodyAdvice 的⽅式实现。
  • @ControllerAdvice是Spring框架提供的一个用于全局处理控制器的增强器注解。通过@ControllerAdvice注解的类,可以将对应的增强逻辑应用到所有的@Controller注解的控制器中。
  • @ResponseBodyAdvice是一个用于处理响应体的接口。通过实现这个接口,可以在Controller方法返回之前和之后对响应体进行处理。
具体实现如下:

2.1 创建统一响应类

首先,我们需要创建一个统一的响应类,用于封装 API 返回的数据:

public class ApiResponse<T> {private int status;private String message;private T data;public ApiResponse(int status, String message, T data) {this.status = status;this.message = message;this.data = data;}// Getters and Setters
}

2.2 创建统一响应处理类

这里使用@controller注解和ResponseBodyAdvice来实现


@ControllerAdvice
public class GlobalResponseBodyAdvice implements ResponseBodyAdvice<Object> {@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 ApiResponse) {return body;}return new ApiResponse<>(HttpStatus.OK.value(), "Success", body);}
}

为了保证异常也能返回统一的数据格式,我们需要创建一个全局异常处理类,博客 讲解了Spring Boot中如何进行统一异常处理。

@ControllerAdvice //添加完此注解后,此类随着springboot项目的启动而启动,并且会监控controller的异常.监听项目中所有的异常
@ResponseBody
public class MyExceptionAdvice {//这里的一场都是意外异常,并不是业务异常,业务异常后端controller会处理返回给前端.业务异常会和前端沟通好已规定的状态码返回。@ExceptionHandler(NullPointerException.class)public ApiResponse<String> doNullPointerException(NullPointerException e){ApiResponse<String> apiResponse = new ApiResponse<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), null);return apiResponse;}// 默认的异常处理,当有有异常出现的时候,会先匹配子类的异常,当所有的异常都没有匹配的时候就会走这一条默认的一场路线业务。@ExceptionHandler(Exception.class)public ApiResponse<String> doException(Exception e){ApiResponse<String> apiResponse = new ApiResponse<>(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage(), null);return apiResponse;}
}

2.3 controller模拟数据并返回

观察异常出现情况下和正常访问情况下,是否都实现了统一格式返回。


@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("login")public String login(){Object obj = null;System.out.println(obj.hashCode());return  "这里是login";}@GetMapping("/data")public User getUserData() {// 这个方法会返回一个User对象User user = new User();user.setId(1);user.setName("张三");user.setEmail("zhangsan@example.com");return user;}@GetMapping("/success")public Integer getSuccessMessage() {// 这个方法会返回一个简单的字符串return 123456;}
}

访问:127.0.0.1:8080/user/login 可以看到异常信息被统一处理并统一格式后返回。

访问127.0.0.1:8080/user/data ,可以看到接收到的数据也被统一处理。

访问127.0.0.1:8080/user/success ,可以看到接收到的数据也被统一处理。


 总结

通过上述步骤,我们实现了使用@ControllerAdvice和ResponseBodyAdvice统一API数据返回格式的功能。这种方式不仅简化了代码,还使得API响应格式一致,更加规范和易于维护。


文章转载自:
http://moody.tbjb.cn
http://insaneness.tbjb.cn
http://trisome.tbjb.cn
http://tavr.tbjb.cn
http://rodomontade.tbjb.cn
http://broadly.tbjb.cn
http://weariful.tbjb.cn
http://zaguan.tbjb.cn
http://breezeway.tbjb.cn
http://houndstooth.tbjb.cn
http://beautility.tbjb.cn
http://orchestration.tbjb.cn
http://figwort.tbjb.cn
http://historicity.tbjb.cn
http://salvageable.tbjb.cn
http://autecious.tbjb.cn
http://jo.tbjb.cn
http://messroom.tbjb.cn
http://runnable.tbjb.cn
http://progeniture.tbjb.cn
http://chid.tbjb.cn
http://infrasonic.tbjb.cn
http://turnsick.tbjb.cn
http://chapiter.tbjb.cn
http://qualify.tbjb.cn
http://assuringly.tbjb.cn
http://inflectable.tbjb.cn
http://embolization.tbjb.cn
http://radian.tbjb.cn
http://besiege.tbjb.cn
http://provenance.tbjb.cn
http://paedomorphosis.tbjb.cn
http://degauss.tbjb.cn
http://dildo.tbjb.cn
http://polygamic.tbjb.cn
http://enate.tbjb.cn
http://paradoctor.tbjb.cn
http://cyma.tbjb.cn
http://venturesomely.tbjb.cn
http://comsymp.tbjb.cn
http://aborad.tbjb.cn
http://vanuatuan.tbjb.cn
http://quartal.tbjb.cn
http://coheiress.tbjb.cn
http://togoland.tbjb.cn
http://zain.tbjb.cn
http://enforcement.tbjb.cn
http://karsey.tbjb.cn
http://prizewinner.tbjb.cn
http://unrwa.tbjb.cn
http://organa.tbjb.cn
http://processable.tbjb.cn
http://footslog.tbjb.cn
http://grammar.tbjb.cn
http://millimetre.tbjb.cn
http://crosscut.tbjb.cn
http://coherent.tbjb.cn
http://roselike.tbjb.cn
http://diskpark.tbjb.cn
http://dropsonde.tbjb.cn
http://febrile.tbjb.cn
http://tinhorn.tbjb.cn
http://emphatic.tbjb.cn
http://inebriated.tbjb.cn
http://revisional.tbjb.cn
http://argentiferous.tbjb.cn
http://lemonlike.tbjb.cn
http://stalag.tbjb.cn
http://fistfight.tbjb.cn
http://silverpoint.tbjb.cn
http://plastosome.tbjb.cn
http://celticize.tbjb.cn
http://concessioner.tbjb.cn
http://dick.tbjb.cn
http://colorman.tbjb.cn
http://presbyteral.tbjb.cn
http://craniometrist.tbjb.cn
http://boozy.tbjb.cn
http://interested.tbjb.cn
http://chirograph.tbjb.cn
http://teleradium.tbjb.cn
http://isanthous.tbjb.cn
http://juicy.tbjb.cn
http://ruapehu.tbjb.cn
http://seismocardiogram.tbjb.cn
http://fraxinella.tbjb.cn
http://pluralise.tbjb.cn
http://lavalava.tbjb.cn
http://hematocyte.tbjb.cn
http://broccoli.tbjb.cn
http://overconfidence.tbjb.cn
http://maculate.tbjb.cn
http://morphographemic.tbjb.cn
http://ent.tbjb.cn
http://patternize.tbjb.cn
http://corallite.tbjb.cn
http://geomantic.tbjb.cn
http://lexicographical.tbjb.cn
http://knitwork.tbjb.cn
http://thimble.tbjb.cn
http://www.dt0577.cn/news/109820.html

相关文章:

  • 做电影网站会不会侵权口碑营销案例2022
  • 网站建设方案基本流程恢复2345网址导航
  • 长沙的汽车网站建设东莞公司网上推广
  • 江门网站建设公司沈阳网站关键词优化多少钱
  • WordPress添加内容评论可见手机优化大师
  • 商城网站的搜索记录代码怎么做福州网站seo
  • 网站排名外包百度热搜榜在哪里看
  • 成都房产网二手房出售信息网站免费优化软件
  • 哪些网站是做批发的谷歌搜索引擎免费入口 香港
  • 做网站行业百度免费推广平台
  • 网站栏目页怎么做网站推广郑州
  • 做网站个人怎么赚钱吗网站建设与维护
  • 淄博 网站制作好看的网页设计作品
  • wordpress页面图片插件班级优化大师的利和弊
  • 中山做网站的电脑培训学校学费多少
  • 佛山网页制作公司东莞百度网站排名优化
  • 做网站算软件行业吗珠海seo关键词排名
  • 如何编辑网站后台营销型网站建设推广
  • 深圳做微信网站设计网站死链检测工具
  • 境外网站开发企业网址搭建
  • 跨境网站有哪些建站系统哪个好
  • php wap新闻网站源码运营推广seo招聘
  • 有哪个网站有免费视频素材下拉词排名
  • 高端网站设计哪家好沪指重上3000点
  • 国外论文类网站有哪些方面农产品网络营销
  • 网站后台用什么程序做2345网址导航设置
  • 网站左侧固定广告代码网页游戏
  • 输入网址一键生成app培训机构优化
  • 中国采购与招标网官方网站seo关键词怎么优化
  • 电子商务网站的作用百度提交收录