SpringBoot-(十四)RESTful统一结果返回
本文最后更新于:March 12, 2022 am
SpringBoot框架中有两个非常重要的策略:开箱即用和约定优于配置。其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
目录
状态码
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
| package com.tothefor.resultR;
import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString;
@Getter @AllArgsConstructor @NoArgsConstructor @ToString public enum RCode {
SUCCESS(true,200, "成功"),
FAIL(false,500, "失败"),
FAIL_401(false,401, "未授权") ;
private Boolean statusFlag;
private Integer statusCode;
private String statusMessage;
}
|
封装返回结果类
方法名对应状态码中的名称。
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
| package com.tothefor.resultR;
import lombok.*;
import java.io.Serializable;
@Data @Builder @AllArgsConstructor @NoArgsConstructor @ToString public class R<T> {
private Boolean statusFlag; private Integer statusCode; private String statusMessage;
private long timestamp;
private T data;
public static <T> R<T> SUCCESS(){ return SUCCESS(null); }
public static <T> R<T> SUCCESS(T data){ return R.<T>builder().data(data) .statusFlag(RCode.SUCCESS.getStatusFlag()) .statusCode(RCode.SUCCESS.getStatusCode()) .statusMessage(RCode.SUCCESS.getStatusMessage()) .timestamp(System.currentTimeMillis()) .build(); }
public static <T extends Serializable> R<T> FAIL() { return FAIL(null); }
public static <T> R<T> FAIL(T data){ return R.<T>builder().data(data) .statusFlag(RCode.FAIL.getStatusFlag()) .statusCode(RCode.FAIL.getStatusCode()) .statusMessage(RCode.FAIL.getStatusMessage()) .timestamp(System.currentTimeMillis()) .build(); }
public static <T> R<T> FAIL_401(){ return R.<T>builder() .statusFlag(RCode.FAIL_401.getStatusFlag()) .statusCode(RCode.FAIL_401.getStatusCode()) .statusMessage(RCode.FAIL_401.getStatusMessage()) .timestamp(System.currentTimeMillis()) .build(); }
}
|