1 api-result是什么?
api-result ,是一套API接口响应参数规范化解决方案。
2 为什么要用api-result?
2.1 微服务开发
微服务开发,服务之间的调用,说到底就是接口开发,关于接口开发,我会在接口开发的系列逐一为大家讲解,服务好不好,稳定性怎么样,最关键的是还是响应结果做的怎么样。我调用你接口,由于很多原因,我不知道调通了没有,如果没有调用,那么是什么原因导致没有通,是接口的原因,还是服务的原因?还是网络原因,等等。
2.2 HTTP介绍
现在的接口都是采用HTTP+JSON的方式,所以首先我们要考虑HTTP层。
我们要根据HTTP通用的响应码,来告诉我,你是否正确请求到我的服务接口。
只有当HTTP响应码是200时,才表示正确请求到我们的服务接口。其他都不是
404:请求地址不正确
401:无权限
400:HTTP消息不正确
500:服务器接口内部错误
这些都是HTTP接口。
api-result格式
不要直接就返回数据,不然我怎么知道接口业务逻辑处理是否正确,如果错误,那么错误原因是什么呢?这些你都以告诉用户。要告诉用户原因,为什么错误,还有尽可能的提示解决方案。
success,会告诉我们接口这次处理的业务逻辑结果是否正确。正确,就走正确的逻辑,不正确,再根据各种错误情况进行错误处理。
message,提示信息。主要是错误信息。
data,这里放数据
3 api-result要怎么用?
api-result,已发布到中央仓库。见这里:
去 maven.org 查看
去 mvnrepository.com 查看
你只需要去添加依赖就行。
maven:
<dependency><groupId>com.fengwenyi</groupId><artifactId>api-result</artifactId><version>2.1.1.RELEASE</version></dependency>
gradle
implementation 'com.fengwenyi:api-result:2.1.1.RELEASE'
代码示例:
@GetMapping("/users-2")public ResponseEntity<?, ?> users2() {List<UserResponseVo> userResponseVos = Arrays.asList(new UserResponseVo("u_1", "关羽", "云长"),new UserResponseVo("u_1", "张飞", "翼德"),new UserResponseVo("u_1", "赵云", "子龙"));return ResponseUtils.success(userResponseVos);}
响应示例:
{"message":"Success","success":true,"data":[{"uid":"u_1","nickname":"云长","real_name":"关羽"},{"uid":"u_2","nickname":"翼德","real_name":"张飞"},{"uid":"u_3","nickname":"子龙","real_name":"赵云"}]}
4 功能列表
- 简单的数据
[x] 标准且规范的格式
标准且规范的响应封装格式
- 支持简单的数据
- 支持自定义响应码
- 支持分页返回
