Spring Boot系列
SpringBoot(一):Quick start
SpringBoot(二):多环境切换
目录
一.简介
二.Respond封装
三.请求测试
一.简介
在实际的开发过程中,我们会面临着服务接口调用,接口中返回的数据格式各种,没有一个统一的标准,会造成在前端和后端,后端与后端数据对接的过程中出现各种数据格式异常,所以有必要对数据处理有有一定的状态码,信息,数据的封装
二.Respond封装
如上图,建立两个文件
/citydata/constant/ResponseCode.java
/citydata/response/ReturnData.java
2.1 ResponseCode.java
ps:该类是个枚举类,以后可以根据自己业务需求,添加自己所需的响应状态码和信息
package com.citydata.constant;
/**
* @author yjgithub
* @create 2018/05/28 15:38
* @desc 响应状态码及信息
**/
public enum ResponseCode {
OPERATION_SUCCESS(200, "操作成功"),
OPERATION_ERROR(400, "操作失败");
ResponseCode(int status, String msg) {
this.status = status;
this.msg = msg;
}
private int status;
private String msg;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
2.2 ReturnData.java
package com.citydata.response;
import com.citydata.constant.ResponseCode;
/**
* @author yjgithub
* @create 2018/5/28 11:48
* @Description: 业务响应实体
*/
public class ReturnData {
//响应业务状态码
private Integer status;
//响应信息
private String msg;
//响应数据
private Object data;
public ReturnData(Integer status, String msg) {
this.status = status;
this.msg = msg;
}
public ReturnData(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public static ReturnData build(Integer status, String msg,Object data) {
return new ReturnData(status, msg, data);
}
public static ReturnData build(Integer status, String msg) {
return new ReturnData(status, msg, null);
}
public static ReturnData ok(Object data) {
return new ReturnData(data);
}
public static ReturnData ok() {
return new ReturnData(null);
}
public ReturnData() {
}
public ReturnData(Object data) {
this.status = ResponseCode.OPERATION_SUCCESS.getStatus();
this.msg = ResponseCode.OPERATION_SUCCESS.getMsg();
this.data = data;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
@Override
public String toString() {
return "ReturnData{" +
"status=" + status +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
}
三.请求测试
3.1 改造类
ps:根据该SpringBoot(一)Quick start博客提到的三个类,进行改造返回对应的请求体(ReturnData)
/citydata/controller/TestController.java
/citydata/service/TestService.java
/citydata/service/impl/TestImpl.java
3.1.1TestController.java
/**
* Created by yjgithub on 2018/5/28.
*/
@RestController
@RequestMapping("test")
public class TestController {
@Autowired
TestImpl testService;
@RequestMapping("/index")
public ReturnData index(String Str) {
return testService.test(Str);
}
}
3.1.2 TestService.java
/**
*
* Created by yjgithub on 2018/5/28.
*/
public interface TestService {
public ReturnData test(String str);
}
3.1.3 TestImpl.java
/**
* Created by yjgithub on 2018/5/28.
*/
@Service
public class TestImpl implements TestService {
@Override
public ReturnData test(String str) {
ReturnData rd = new ReturnData(ResponseCode.OPERATION_SUCCESS.getStatus(),ResponseCode.OPERATION_SUCCESS.getMsg(),str);
return rd;
}
}
3.2 测试
PS:需要项目源代码,请邮件yjgithub@163.com联系