gpt4 book ai didi

java - 编写具有公共(public)字段的 pojo 的最佳方式

转载 作者:行者123 更新时间:2023-11-29 08:31:50 28 4
gpt4 key购买 nike

我目前正在制作一项服务,其中有很多公共(public) API。并且响应和请求对象有很多重叠。所以,我在想有没有一种方法可以概括请求/响应对象的 pojo 创建。有时,响应对象与请求对象相同,多出一两个字段。

我举个例子。

@Data
public class Request {
private A objA;
private B objB;
}

@Data
public class Response {
private A objA;
private B objB;
private C objC;
}

@Data
public class A {
private D objD;
}

@Data
public class B {
private String sB;
private E obje;
}

@Data
public class C {
private String sC;
}

同样,D 和 E 也是 pojo。问题是请求/响应对象有很多相似之处(重叠字段)。

最佳答案

您的解决方案可能是继承:创建具有重叠字段的父抽象对象类型,并让请求和响应对象扩展它并指定它们需要的任何额外(唯一)字段。

继承

public abstract class Common {
private String overlapfield1;
private String overlapfield2
}

public class Request extends Common {
private String requestField1;
private String requestField2;
}

public class Response extends Common {
private String responseField1;
private String responseField2;
}

您也可以使用组合来解决这个问题:创建一个具有重叠字段的对象类型,并将该对象作为请求/响应类型的子对象包含在内:

组成

public class Common {
private String overlapfield1;
private String overlapfield2
}

public class Request {
private String requestField1;
private String requestField2;
private Common common;
}

public class Response {
private String responseField1;
private String responseField2;
private Common common;
}

每种方法都各有利弊,这在本论坛和其他论坛上得到了广泛讨论。然而,这是处理此类问题的两种标准方法。

关于java - 编写具有公共(public)字段的 pojo 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47397021/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com