关于封装

接口对接的数据格式通常有固定的封装对象,包括是否传输成功的信息,传输的数据,及对应的错误类型。因此需要一个标准的对象进行数据封装

实现方式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* @Description: 接口数据实体类
* @Authoe: Jachin
* @CreateDate: 2019/07/31 15:56
*/
public class DataResult<T> {
    
    private int code; // 0 成功 1 失败
    private String message; //返回信息
    private Boolean success; // true 成功 false 失败
    private T data;

    //get/set方法IDEA中可以自动生成,快捷键[Alt + Insert]
    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Boolean isSuccess() {
        return success;
    }

    public void setSuccess(Boolean success) {
        this.success = success;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public DataResult(int code, String message, Boolean success, T data) {
        this.code = code;
        this.message = message;
        this.success = success;
        this.data = data;
    }

}

//在Controller类中使用
@GetMapping(value = "getdata")
public DataResult getItemData() {

    ObjectMapper mapper = new ObjectMapper();

    List<Map<String, Object>> itemData = getData();  //封装需要传输的数据为list
    String sr = mapper.writeValueAsString(itemData);  //将json数据转换为String
    String response = sendData(url,sr);              //调用对方接口,传输数据,并存储返回值。

    return new DataResult(1, "message success", true, response); //返回封装对象DataResult
}

明年今日,不要再失眠