springCloud 服务提供者应返回的统一的数据格式
package com.zledu.commonentity.entity; import lombok.AllArgsConstructor;
import lombok.Data; import java.io.Serializable;
import java.util.List; /**
* @Author: husToy.Wang
* @Date: 2019/6/27 8:55
* @Version 1.0
* @date 2019-06-27 08:58
* @author wangzhilei
*/
@Data
public class BaseResult implements Serializable { private static final String OK = "OK";
private static final String NotOK = "notOk" ;
private static final String SUCCESS = "操作成功"; private String result;
private Object data;
private String success;
private Cursor cursor;
private List<Error> errors; // TODO 返回无参ok
public static BaseResult ok(){
return createRestult(OK, null, SUCCESS,null,null ) ;
} // TODO 返回带success 的 ok
public static BaseResult ok(String success){
return createRestult(OK, null, success, null, null);
} // TODO 返回带 data 的ok
public static BaseResult ok(Object data){
return createRestult(OK, data, SUCCESS, null, null);
} // 返回带分页的数据
public static BaseResult ok(Object data, Cursor cursor) {
return createRestult(OK, data, SUCCESS, cursor, null);
} // TODO 返回错误数据
public static BaseResult notOk(List<BaseResult.Error> errors){
return createRestult(NotOK, null, null, null, errors);
} // TODO 构建错误与正确方法
public static BaseResult createRestult(String result, Object data,String success, Cursor cursor, List<BaseResult.Error> errors){ BaseResult baseResult = new BaseResult(); baseResult.setResult(result);
baseResult.setData(data);
baseResult.setSuccess(success);
baseResult.setCursor(cursor);
baseResult.setErrors(errors); return baseResult;
} @Data
@AllArgsConstructor
public static class Cursor {
private int total;
private int offset;
private int limit;
} @Data
@AllArgsConstructor
public static class Error{
private String field;
private String message;
} }
springCloud 服务提供者应返回的统一的数据格式的更多相关文章
- ServerResponse(服务器统一响应数据格式)
ServerResponse(服务器统一响应数据格式) 前言: 其实严格来说,ServerResponse应该归类到common包中.但是我实在太喜欢这玩意儿了.而且用得也非常频繁,所以忍不住推荐一下 ...
- MVC WebAPI框架里设置异常返回格式统一
webApi里设置全局异常返回格式今天为了设置api返回格式统一,在网上找了一推资料,各种资料参差不齐的,最后自己捣鼓,终于弄出来了,直接上代码 /// <summary> /// 消息代 ...
- SpringBoot接口 - 如何优雅的对接口返回内容统一封装?
在以SpringBoot开发Restful接口时,统一返回方便前端进行开发和封装,以及出现时给出响应编码和信息.@pdai SpringBoot接口 - 如何优雅的对接口返回内容统一封装? RESTf ...
- SpringBoot入门系列(二)如何返回统一的数据格式
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/ ...
- Spring MVC 使用介绍(十二)控制器返回结果统一处理
一.概述 在为前端提供http接口时,通常返回的数据需要统一的json格式,如包含错误码和错误信息等字段. 该功能的实现有四种可能的方式: AOP 利用环绕通知,对包含@RequestMapping注 ...
- SpringCloud服务提供者
服务提供者就是提供一个服务暴露出来给别人调用,在springcloud中需要注册服务到服务中心 搭建服务提供者项目(ProduceDemo) 1.创建pom.xml <project xmlns ...
- 查询部门----返回给前台TreeView数据格式的数据
实体类: public class AddressTreeDto { private Long id; private String text;//位置名称 private Long pId;//上一 ...
- SpringCloud入门(十): Config 统一配置中心
SpringCloud Config 简介 在分布式系统中,由于服务组件过多,为了方便争对不通的环境下的服务配置文件统一管理,实时更新,所以出现了分布式配置中心组件.市面上开源的配置中心有很多,360 ...
- Java项目常用的统一返回跟统一异常处理
先创建一个crud的项目. controller调用service调用mapper 以下以简单代码代替 controller @GetMapping("/getUserById") ...
随机推荐
- Linux驱动开发7——I/O内存分配
CPU通过物理地址访问DDR和外设,DDR内存称为物理内存地址空间,外设寄存器组称为I/O内存地址空间. ARM采用统一编址,而X86采用独立编制.上一章介绍了DDR内存分配,这一章介绍I/O内存分配 ...
- .bash_profile vs .bashrc
w http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
- ConcurrentLinkedQueue 源码分析
ConcurrentLinkedQueue ConcurrentLinkedQueue 能解决什么问题?什么时候使用 ConcurrentLinkedQueue? 1)ConcurrentLinked ...
- Ajax,学习教程!
一.什么是Ajax? 2005 年Jesse James Garrett 发表了一篇文章,标题为:“Ajax:A new Approach to Web Applications”.他在这篇文章里介绍 ...
- springAOP基于注解的使用方法和实现原理
springAOP即面向切面编程,可以在方法执行过程中动态的织入增强逻辑,其使用步骤为: 1. 导入aop模块的jar包,或在maven中添加依赖:spring-aspects 2. 定义目标类和目 ...
- KVM 虚拟化架构和实现原理
目录 目录 KVM虚拟化架构 devkvm QEMU OpenstackKVMQEMU 的关系 KVM的虚拟化实现 KVM虚拟化架构 KVM是嵌入在Linux操作系统标准内核中的一个虚拟化模块,它能够 ...
- Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
我觉得叫 "皮肤" 不如叫 "样式" 或 "风格", 因为它可以包含和动作关联的动画. 在 FMX 下, 控件可以任意绘制, 各部件个性化的 ...
- Python解决ModuleNotFoundError: No module named 'Queue'的问题
我们知道Python2和Python3两个版本之间,有些不兼容的地方,Python3中引入Queue会报出这个问题. Python3中要这样引入: import queue Python2中要这样引入 ...
- 关于iphone 6s 页面功能不能正常使用问题
6s 不支持es6 语法.去除es6语法后页面功能正常使用!!!!!
- g50打开无线设置 fn+f7