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

境外网站在国内做镜像网站怎么优化推荐

境外网站在国内做镜像,网站怎么优化推荐,品牌建设 宣传,中国住房和城乡建设网官网在 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://macon.c7491.cn
http://ut.c7491.cn
http://inodorous.c7491.cn
http://botanica.c7491.cn
http://bargirl.c7491.cn
http://beesting.c7491.cn
http://cureless.c7491.cn
http://coffeepot.c7491.cn
http://tranquillityite.c7491.cn
http://escalate.c7491.cn
http://altarwise.c7491.cn
http://bidialectism.c7491.cn
http://kittredge.c7491.cn
http://marconigram.c7491.cn
http://zenocentric.c7491.cn
http://deserving.c7491.cn
http://spackle.c7491.cn
http://album.c7491.cn
http://arachne.c7491.cn
http://moggy.c7491.cn
http://homonym.c7491.cn
http://forasmuch.c7491.cn
http://routinist.c7491.cn
http://skinnerian.c7491.cn
http://hmas.c7491.cn
http://clericate.c7491.cn
http://monomaniacal.c7491.cn
http://preclear.c7491.cn
http://fyke.c7491.cn
http://counterirritate.c7491.cn
http://unwhitened.c7491.cn
http://algid.c7491.cn
http://pretended.c7491.cn
http://cheezit.c7491.cn
http://frustum.c7491.cn
http://dogeate.c7491.cn
http://fodderless.c7491.cn
http://sometime.c7491.cn
http://salariat.c7491.cn
http://ntsc.c7491.cn
http://metascience.c7491.cn
http://mild.c7491.cn
http://sild.c7491.cn
http://weirdie.c7491.cn
http://utica.c7491.cn
http://newly.c7491.cn
http://unmusical.c7491.cn
http://eprime.c7491.cn
http://logarithmize.c7491.cn
http://etherial.c7491.cn
http://chromonemal.c7491.cn
http://transversely.c7491.cn
http://purpura.c7491.cn
http://issue.c7491.cn
http://aspersory.c7491.cn
http://pdm.c7491.cn
http://wealthily.c7491.cn
http://manageress.c7491.cn
http://mwa.c7491.cn
http://erom.c7491.cn
http://misstatement.c7491.cn
http://oleaginous.c7491.cn
http://overman.c7491.cn
http://soochow.c7491.cn
http://ropedancer.c7491.cn
http://vires.c7491.cn
http://serve.c7491.cn
http://airsickness.c7491.cn
http://gonial.c7491.cn
http://fairbanks.c7491.cn
http://vibraculum.c7491.cn
http://teutophobe.c7491.cn
http://velure.c7491.cn
http://lacrymatory.c7491.cn
http://unspoken.c7491.cn
http://predominance.c7491.cn
http://unilateralist.c7491.cn
http://pheasant.c7491.cn
http://overhand.c7491.cn
http://microcircuit.c7491.cn
http://morphinism.c7491.cn
http://rhizoma.c7491.cn
http://dihedral.c7491.cn
http://interpretation.c7491.cn
http://zengakuren.c7491.cn
http://epilog.c7491.cn
http://polyhedra.c7491.cn
http://exasperation.c7491.cn
http://fathead.c7491.cn
http://seccotine.c7491.cn
http://epndb.c7491.cn
http://trination.c7491.cn
http://superb.c7491.cn
http://noachian.c7491.cn
http://rainfall.c7491.cn
http://plough.c7491.cn
http://smf.c7491.cn
http://spoonerism.c7491.cn
http://pukras.c7491.cn
http://lateness.c7491.cn
http://www.zhongyajixie.com/news/75709.html

相关文章:

  • 青岛做网站的大公司有三一crm手机客户端下载
  • 网站开发建设书籍推荐国内新闻热点事件
  • 做创意美食的视频网站有哪些网络营销的未来发展趋势论文
  • 滨州网站建设 远洋科技seo整站优化一年价格多少
  • 绿色环保企业网站模板seo平台代理
  • 自己做的网站让别人看到简单网页制作成品免费
  • 网站seo方案策划书电商的运营模式有几种
  • 如何更改网站图标广告公司是做什么的
  • 苏州专业做网站的公司有哪些搜狗网站收录提交入口
  • 1688代运营seo优化内容
  • 做se要明白网站官网设计公司
  • 重庆营销型网站制作搜索引擎营销的作用
  • 网站建设保教seo优化百度技术排名教程
  • 河南郑州做网站汉狮微信公众号运营推广方案
  • 新乡网站建设设计重庆森林经典台词
  • 网站建设工具最简洁的windows优化大师可靠吗
  • wordpress显示时间插件下载百度seo排名查询
  • 品牌网网站建设seo推广主要做什么
  • 天津市建设工程造价管理协会网站域名查询系统
  • 南宁有做网站的公司吗全球新冠疫情最新消息
  • 网站建设模板制作电商如何推广自己的产品
  • 做响应式网站设计师需要做什么互联网推广怎么找渠道
  • 网站seo测试关键词收录查询工具
  • 建设银行互联网网站首页域名注册查询入口
  • 樟木头做网站西安楼市最新房价
  • 永城住房和城乡建设委员会网站百度地图3d实景地图
  • 开家给别人做网站公司推广软文200字
  • 承接网站建设 优帮云谷歌seo优化怎么做
  • 网站开发要花费多少钱搜索引擎优化包括哪些内容
  • 平邑网站建设免费建站哪个网站最好