写在前面的话
这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写。已经很久没有更新文章了,小伙伴们,有没有想我啊。言归正传,下面开始,今天的话题。
目标
写一套符合规范,并且具有RESTful风格的API接口。
假定
- 你已会使用Spring Boot 2.x。
- 你已会使用Gradle构建Spring Boot工程。
- 你已会基于Spring Boot编写API接口。
- 你已会使用接口调试工具。
如果你还不会使用Spring Boot写接口,建议先看一下这篇文章 :
用Spring Boot开发API接口
步骤
1、基于Gradle构建Spring Boot示例项目。
2、引入JavaLib。
3、编写接口代码。
4、测试接口。
引入JavaLib
测试版(SNAPSHOT),都会发布到 JitPack 上,所以,从这里拉取的,都会是最新的,但是需要配置仓库地址。
正式版(RELEASE),才会推送到 Maven中央。
UserModel
我们用UserModel来存放我们的数据,以便存取。我个人比较喜欢用bean的,如果你喜欢用Map,那也是可以的。不过需要注意的是, 需要加@JsonInclude(JsonInclude.Include.NON_NULL)
,他的作用是,如果某个字段为空时,在返回的JSON中,则不显示,如果没有,将为 null
。
完整代码如下:
package com.fengwenyi.demojavalibresult.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* User Model
* @author Wenyi Feng
* @since 2019-02-05
*/
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserModel implements Serializable {
private static final long serialVersionUID = -835481508750383832L;
/** UID */
private String uid;
/** Name */
private String name;
/** Age */
private Integer age;
}
编写接口返回码
这里我们使用 JavaLib 中result模块为我们提供的方法。只需要调用 BaseCodeMsg.app(Integer, String)
即可。这里我们只写几个用作示例,完整代码如下:
package com.fengwenyi.demojavalibresult.util;
import com.fengwenyi.javalib.result.BaseCodeMsg;
/**
* 自定