SpringBoot06 统一响应格式
1 要求
每个请求成功后,后台返回的响应格式都是一致的,例如:
    
2 创建一个视图模型
该模型用于格式化响应数据
package cn.xiangxu.springboottest.model.dataViewModel; import lombok.Data; @Data
public class ResultViewModel<T> {
private Integer code;
private String message;
private T data;
}
3 创建一个视图模型工具类
该工具类根据传入的参数来实例化视图模型类
  
package cn.xiangxu.springboottest.utils; import cn.xiangxu.springboottest.model.dataViewModel.ResultViewModel; /**
* 响应数据封装类
*/
public class ResultViewModelUtil {
/**
* 请求成功方法01
* @param object 响应数据
* @return 视图模型实例
*/
public static ResultViewModel success(Object object) {
ResultViewModel resultViewModel = new ResultViewModel();
resultViewModel.setCode(0);
resultViewModel.setMessage("请求成功");
resultViewModel.setData(object);
return resultViewModel;
} /**
* 请求成功方法02
* @return 视图模型实例
*/
public static ResultViewModel success() {
return success(null);
} /**
* 请求失败方法01(捕获到的已知异常)
* @param code 异常编号
* @param message 异常信息
* @return 视图模型实例
*/
public static ResultViewModel error(Integer code, String message) {
ResultViewModel resultViewModel = new ResultViewModel();
resultViewModel.setCode(code);
resultViewModel.setMessage(message);
resultViewModel.setData(null);
return resultViewModel;
} /**
* 请求失败方法02(系统异常)
* @return 视图模型实例
*/
public static ResultViewModel error() {
ResultViewModel resultViewModel = new ResultViewModel();
resultViewModel.setCode(-1);
resultViewModel.setMessage("系统异常");
resultViewModel.setData("系统维护中...");
return resultViewModel;
}
}
4 利用视图模型工具类向前台返回格式化的JSON数据
  
package cn.xiangxu.springboottest.controller; import cn.xiangxu.springboottest.model.dataViewModel.ResultViewModel;
import cn.xiangxu.springboottest.service.GirlService;
import cn.xiangxu.springboottest.utils.ResultViewModelUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RestController
@RequestMapping(value = "/girl")
@Slf4j
public class GirlController { @Resource(name = "girlService")
private GirlService girlService; @GetMapping
public ResultViewModel test() {
log.info("hello boy");
return ResultViewModelUtil.success("响应数据");
// return ResultViewModelUtil.success(girlService.findAllGirl());
} }
SpringBoot06 统一响应格式的更多相关文章
- WebAPI接口设计:SwaggerUI文档 / 统一响应格式 / 统一异常处理 / 统一权限验证
		为什么还要写这类文章?因为我看过网上很多讲解的都不够全面,而本文结合实际工作讲解了swaggerui文档,统一响应格式,异常处理,权限验证等常用模块,并提供一套完善的案例源代码,在实际工作中可直接参考 ... 
- ASP.NET Web API 2.0 统一响应格式
		传统实现 在搭建 Web API 服务的时候,针对客户端请求,我们一般都会自定义响应的 JSON 格式,比如: { "Data" : { "Id" : 100, ... 
- SpringBoot 统一响应格式
		-Spring Boot返回数据及异常统一封装 -企业实战之spring项目<接口响应体格式统一封装> -Spring Boot fastjson替换jackson -java web项目 ... 
- spring boot / cloud (二) 规范响应格式以及统一异常处理
		spring boot / cloud (二) 规范响应格式以及统一异常处理 前言 为什么规范响应格式? 我认为,采用预先约定好的数据格式,将返回数据(无论是正常的还是异常的)规范起来,有助于提高团队 ... 
- 001-RESTful服务最佳实践-RestFul准则、HTTP动词表示含义、合理的资源命名、响应格式XML和JSON
		一.概述 因为REST是一种架构风格而不是严格的标准,所以它可以灵活地实现.由于这种灵活性和结构自由度,对设计最佳实践也有很大的差异. API的方向是从应用程序开发人员的角度考虑设计选择. 幂等性 不 ... 
- ASP.NET Core 2.2 WebApi 系列【八】统一返回格式(返回值、模型验证、异常)
		现阶段,基本上都是前后端分离项目,这样一来,就需要前后端配合,没有统一返回格式,那么对接起来会很麻烦,浪费时间.我们需要把所有接口及异常错误信息都返回一定的Json格式,有利于前端处理,从而提高了工作 ... 
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
		Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ... 
- Spring Boot 无侵入式 实现RESTful API接口统一JSON格式返回
		前言 现在我们做项目基本上中大型项目都是选择前后端分离,前后端分离已经成了一个趋势了,所以总这样·我们就要和前端约定统一的api 接口返回json 格式, 这样我们需要封装一个统一通用全局 模版api ... 
- [Web API] 如何让 Web API 统一回传格式以及例外处理[转]
		[Web API] 如何让 Web API 统一回传格式以及例外处理 前言 当我们在开发 Web API 时,一般的情况下每个 API 回传的数据型态或格式都不尽相同,如果你的项目从头到尾都是由你一个 ... 
随机推荐
- ural 2018 The Debut Album(dp¥)
			2018. The Debut Album Time limit: 2.0 secondMemory limit: 64 MB Pop-group “Pink elephant” entered on ... 
- 解析Ceph: 数据的端到端正确性和 Scrub 机制
			转自:https://www.ustack.com/blog/ceph-internal-scrub/ Ceph 的主要一大特点是强一致性,这里主要指端到端的一致性.众所周知,传统存储路径上从应用层到 ... 
- 【Oracle】容易犯的错误和技巧集合
			引言 此文记录日常开发中容易遇到的oracle编程误区和一些使用技巧,不定期更新. 1.sum(),max(),min(),avg()等函数会得到null值 declare n_num ): ... 
- hdoj-3791-二叉搜索树(二叉搜索树模板题)
			#include <cstring> #include <cstdio> #include <iostream> using namespace std; type ... 
- spring学习-5
			spring表达式SpEL 语法#{..},为bean的属性进行动态赋值 通过bean的id对bean进行引用 调用方法以及引用对象中的属性 计算表达式的值 正则表达式的匹配 修改Address.ja ... 
- Long Jumps(二分查找lower_bound()函数的运用)
			Valery is a PE teacher at a school in Berland. Soon the students are going to take a test in long ju ... 
- bzoj 2242 [SDOI2011]计算器——BSGS模板
			题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2242 第一道BSGS! 咳咳,我到底改了些什么?…… 感觉和自己的第一版写的差不多……可能是 ... 
- CentOS7.2 Jenkins部署
			1.安装配置java环境 直接下载二进制安装包: # tar xvf jdk-8u111-linux-x64.tar.gz -C /usr/local/src/ # ln -sv /usr/local ... 
- Angular5学习笔记 - 配置Http(七)
			一.引入Http模块 编辑\src\app\app.module.ts文件 import { HttpModule } from '@angular/http'; /* 注册模块 */ imports ... 
- 蓝桥杯 历届试题 PREV-2 打印十字图
			历届试题 打印十字图 时间限制:1.0s 内存限制:256.0MB 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: 对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并 ... 
