使用Setter方法填充大量参数

问题描述 投票:0回答:1

我正在使用POJO创建和获取数据。这些POJO代表我们的API,我们使用它们通过REST保证进行测试。

我有一个带有30个变量的RequestDTO类。由于这是DTO,因此我在课堂上使用30个setter方法来更新其中的值。

我通过方法链接将这些设置方法称为如下。我正在使用varList变量从csv读取数据并提供给此DTO。

然而,这看起来笨拙,可读性较差且不正确。我想知道什么是好的方法/设计模式。因为我对最佳做法和设计模式的了解还很少。

示例代码:

    public static void setRequestDTO(List<Object> varList) {
        MyRequestDTO myrequest = new MyRequestDTO()
            .setkey1(varList.get(0).toString())
            .setkey2(varList.get(1).toString())
            // ........
            .setkey30(varList.get(30).toString());
    }
java rest-assured jsonschema2pojo
1个回答
0
投票

首先,我相信您的DTO太肿-难道没有[[真正您可以将其分解为较小的类吗?

第二,您使用的是List<Object>,但所有示例均显示您使用的是String值-您有可能可以更改列表的类型参数,从而消除对所有[C0 ]电话?

第三,您在很大程度上取决于.toString,其中包含您要在DTO上设置的所有必要元素

和,它们都是正确的顺序。如果元素太少,这将导致引发异常。

最后,虽然我会考虑重构它,但我会给您一个可以继续进行的想法。如果确定要保留当前的DTO结构,请考虑将List放入List<Object>的构造函数中,然后在其中执行所有设置程序。这样,每当实例化此DTO的新实例时,您就没有30行设置程序,而仅在实例化时设置这些值。
© www.soinside.com 2019 - 2024. All rights reserved.