SpringBoot:返回响应,统一封装

说明

接口的返回响应,封装成统一的数据格式,再返回给前端。

返回响应,统一封装实体,数据结构如下。

SpringBoot:返回响应,统一封装_第1张图片

代码

package com.example.core.model;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 返回响应,统一封装实体
 *
 * @param  数据实体泛型
 */
@Getter
@ToString
@EqualsAndHashCode
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Schema(name = "返回响应", description = "返回响应,统一封装实体")
public class Result<T> {

    @Schema(description = "请求是否成功:true 成功,false 失败", example = "true")
    private Boolean success;

    @Schema(description = "用户提示", example = "操作成功!")
    private String userMessage;

    /**
     * 错误码
* 调用成功时,为 null。
* 示例:10001 */
@Schema(description = "错误码") private Integer errorCode; /** * 错误信息
* 调用成功时,为 null。
* 示例:"验证码无效" */
@Schema(description = "错误信息") private String errorMessage; /** * 数据实体(泛型)
* 当接口没有返回数据时,为 null。 */
@Schema(description = "数据实体(泛型)") private T data; public static <T> Result<T> success() { return success(null); } public static <T> Result<T> success(T data) { return new Result<>(true, "操作成功!", null, null, data); } public static <T> Result<T> fail(String userMessage, Integer errorCode, String errorMessage) { return new Result<>(false, userMessage, errorCode, errorMessage, null); } }

接口测试

代码

package com.example.web;

import com.example.core.model.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.lang.Nullable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("result")
@Tag(name = "Result")
public class ResultController {

    @Operation(summary = "查询 Result")
    @Parameter(name = "name", description = "姓名")
    @GetMapping("/string")
    public Result<String> getResultWithString(@Nullable String name) {
        String text = "您好," + name + "!";
        return Result.success(text);
    }

}


接口文档效果

SpringBoot:返回响应,统一封装_第2张图片

接口调用效果

SpringBoot:返回响应,统一封装_第3张图片

你可能感兴趣的:(接口文档,Spring,Boot,spring,boot,java,后端)