Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Setter方法填充大型参数集_Java_Rest Assured_Jsonschema2pojo - Fatal编程技术网

Java 使用Setter方法填充大型参数集

Java 使用Setter方法填充大型参数集,java,rest-assured,jsonschema2pojo,Java,Rest Assured,Jsonschema2pojo,我正在使用POJO创建和获取数据。这些POJO代表我们的API,我们使用它们通过REST Assured进行测试 我有一个RequestDTO类,包含30个变量。因为这是一个DTO,所以我在类中使用30个setter方法来更新这些值 我使用方法链接调用这些setter方法,如下所示。我使用varList变量从csv读取数据并提供给此DTO 然而,这看起来很笨拙,可读性差,而且不正确。我想知道这里什么是好的方法/设计模式。因为我对最佳实践和设计模式的了解相对较少 示例代码: public

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

我有一个
RequestDTO
类,包含30个变量。因为这是一个DTO,所以我在类中使用30个setter方法来更新这些值

我使用方法链接调用这些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());
    }
publicstaticvoid setRequestDTO(List varList){
MyRequestDTO myrequest=新的MyRequestDTO()
.setkey1(varList.get(0.toString())
.setkey2(varList.get(1.toString())
// ........
.setkey30(varList.get(30.toString());
}

首先,我认为您的DTO太臃肿了-是否真的没有其他方法可以将其分解为更小的类

其次,您使用的是
列表
,但所有示例都表明您使用的是字符串值-您是否有可能更改列表的类型参数以消除对所有
.toString
调用的需要

第三,您在很大程度上依赖于
列表
,该列表包含您希望在DTO上设置的所有必要元素,以确保它们的顺序正确。如果元素太少,这将导致抛出异常

最后,当我考虑重构这个问题的时候,我会给你一个想法,你可以继续进行。如果您决定保留当前的DTO结构,那么考虑将<<代码>列表>代码>构造为<代码> MyRealestDTO < /C> >,然后在其中执行所有的设置程序。这样,每当实例化此DTO的新实例时,您就不会有30行setter,而只在实例化时设置这些值