继续进行此前的前后端通信工作,编写req与resp相关:
AuthUsersReq.java
这段代码定义了一个名为 `AuthUsersReq` 的类,用于处理用户信息的请求数据。以下是对这段代码的详细解析:
1. **包声明和导入语句**:
- 该类位于 `com.roncoo.education.user.service.auth.req` 包中。
- 导入了 Swagger 注解、Lombok 注解、JavaX 校验注解以及 Java 序列化相关的类。
2. **类注释**:
- 注释部分说明该类是一个 API 认证模块的用户信息类。
3. **类注解和继承**:
- `@Data` 注解来自 Lombok 库,自动生成常见的 getter、setter、toString、equals 和 hashCode 方法。
- `@Accessors(chain = true)` 注解来自 Lombok 库,允许 setter 方法返回当前对象,实现链式调用。
- `@ApiModel` 注解用于 Swagger,提供 API 文档描述。
- `AuthUsersReq` 类实现了 `Serializable` 接口,使其可以被序列化。
4. **字段定义及注解**:
- `serialVersionUID` 是序列化的版本号,用于保证类的兼容性。
- `nickname` 字段表示用户昵称,使用 `@NotBlank` 注解确保该字段不能为空,并提供相应的错误信息。`@ApiModelProperty` 注解用于 Swagger 文档,描述该字段。
- `userSex` 字段表示用户性别,使用 `@NotNull` 注解确保该字段不能为空,并提供相应的错误信息。`@ApiModelProperty` 注解描述该字段的值范围。
- `userAge` 字段表示用户年龄,使用 `@NotNull` 注解确保该字段不能为空,并提供相应的错误信息。`@ApiModelProperty` 注解描述该字段。
- `userHead` 字段表示用户头像,没有校验注解,但使用 `@ApiModelProperty` 注解描述该字段。
- `remark` 字段表示备注,没有校验注解,但使用 `@ApiModelProperty` 注解描述该字段。
- `studentNumber` 字段表示学号,没有校验注解,但使用 `@ApiModelProperty` 注解描述该字段。
- `school` 字段表示学校,没有校验注解,但使用 `@ApiModelProperty` 注解描述该字段
- 这个类用于封装用户信息的请求数据,确保数据的有效性和完整性。
- 使用了 Lombok 库简化代码,自动生成常见方法,并支持链式调用。
- 通过 JavaX 校验注解对字段进行数据校验,确保传入的数据符合要求。
- 通过 Swagger 注解对字段进行描述,方便生成 API 文档。
AuthUsersResp.java 与req相似:
package com.roncoo.education.user.service.auth.resp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* API-AUTH-用户信息
* </p>
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "API-AUTH-用户信息")
public class AuthUsersResp implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "状态(1:正常,0:禁用)")
private Integer statusId;
@ApiModelProperty(value = "手机号码")
private String mobile;
@ApiModelProperty(value = "昵称")
private String nickname;
@ApiModelProperty(value = "用户类型(1用户,2讲师)")
private Integer userType;
@ApiModelProperty(value = "用户性别(1男,2女,3保密)")
private Integer userSex;
@ApiModelProperty(value = "用户年龄")
private Integer userAge;
@ApiModelProperty(value = "用户头像")
private String userHead;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "学号")
private String studentNumber;
@ApiModelProperty(value = "学校")
private String school;
}