自学内容网 自学内容网

Java请求体和响应体

请求体

@Data
@JsonNaming(value = PropertyNamingStrategies.UpperCamelCaseStrategy.class)
public abstract class ApiReq implements LRequest {
    private String requestID;
}

响应体

@Data
@JsonNaming(value = PropertyNamingStrategies.UpperCamelCaseStrategy.class)
public abstract class LBaseResp implements LResponse {

    @Schema(description = "请求ID")
    private String requestID;

    @Schema(description = "错误信息")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Error error;

}

这样做的好处:

这样的设计有以下几个好处:

  1. 代码复用与扩展性通过将ApiReq设计为抽象类,你可以定义所有API请求通用的属性和方法。任何具体的API请求类只需继承ApiReq类,就可以自动获得这些通用功能,同时还可以添加自己的特定功能。这种设计使得代码更加复用和模块化,也更容易扩展。

  2. 标准化的JSON命名:使用@JsonNaming注解确保了所有继承自ApiReq的类的JSON输出都将遵循大驼峰命名法。这有助于保持API的一致性和可预测性,使得前端或其他客户端更容易解析和理解返回的JSON数据。

  3. 简化代码:通过使用Lombok的@Data注解,你无需手动编写getter、setter、equals()hashCode()toString()等方法,这大大减少了代码量,并降低了出错的可能性。同时,这也让代码更加整洁和易于阅读。

  4. 接口实现:ApiReq类实现了LRequest接口,这意味着它承诺提供该接口定义的所有方法。这有助于确保所有API请求类都遵循相同的接口规范,从而使得代码更加一致和可维护。

  5. 灵活性:尽管requestID是一个私有属性,但由于它是抽象类的一部分,子类可以根据需要选择是否覆盖其getter和setter方法,或者添加额外的逻辑。这种设计提供了足够的灵活性,以适应不同的API请求需求。

综上所述,这样的设计结合了抽象类、接口、注解和Lombok库的优点,使得代码更加复用、模块化、一致和易于维护。


原文地址:https://blog.csdn.net/baidu_41796276/article/details/138213220

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!