paopao/docs/tasks/任务-restful接口回应数据的统一封装的实现.md
2024-05-11 08:05:33 +08:00

2.5 KiB
Raw Blame History

任务名称: Restful接口回应数据的统一封装

目标:

  • 掌握Spring Boot框架基本层次结构
  • 掌握接口的统一返回格式的设计和实现
  • 泛型的使用
  • lombok的使用
  • spring配置文件中自定义属性

预备知识:

  • 泛型

操作步骤:

1. 项目java包结构设计

创建包controller、entity、repository、service、dto、 dto.rest.response

2. 实现类Result
package com.lk.paopao.dto.rest.response;

import lombok.Getter;

import java.io.Serializable;

@Getter
public class Result implements Serializable {
    int code;
    String msg;
    public Result(int code, String message) {
        this.code = code;
        this.msg = message;
    }
}

3. 实现类DataResult

DataResult继承Result添加data属性,通过泛型来确定data的类型。

package com.lk.paopao.dto.rest.response;

import lombok.Getter;
import java.io.Serializable;

@Getter
public class DataResult<T> extends Result implements Serializable {

    T data;

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

}

4. 实现类DataResult

通过工具类ResultUtil实现ok、fail方法, 返回DataResult对象。

此工具类简化创建DataResult对象的过程。

package com.lk.paopao.dto.rest.response;


public class ResultUtil {
    public static <T> DataResult<T> ok(T data) {
        return new DataResult<T>(0, data, "SUCCESS");
    }

    public static Result ok() {
        return new Result(0, "SUCCESS");
    }

    public static Result fail(String error) {
        return new Result(500, error);
    }

    public static Result fail(int code, String error) {
        return new Result(code, error);
    }

}
5. 自定义API接口版本号

在application.yml配置文件中添加如下配置


app:
  version: v1
  default:
    head-icon: https://assets.paopao.info/public/avatar/default/joshua.png


技术/工具需求:

  • [列出完成任务所需的技术栈、工具、软件版本等。]

成功标准:

  • [明确完成任务的评判标准,如代码功能实现、性能指标、测试通过条件等。]

扩展学习(可选):

  • [提供一些额外学习资源或挑战性任务,鼓励学有余力的学生进一步探索。]

评估与反馈:

  • [说明如何提交作业、代码审查的标准、或任何反馈收集机制。]

时间估算:

  • [给出预计完成该任务所需的时间,帮助学生合理安排学习计划。]