Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 Raml到dto或dto到Raml。什么应该更好?_Java_Specifications_Raml - Fatal编程技术网

Java Raml到dto或dto到Raml。什么应该更好?

Java Raml到dto或dto到Raml。什么应该更好?,java,specifications,raml,Java,Specifications,Raml,从设计角度来看,在开发之前,在将合同分享给消费者之前,先创建RAML,然后生成DTO或vica,哪种方式更好?据我所知,没有区别,因为两者都应该这样做 RAML用于记录和定义DTO扮演重要角色的API。没有正确DTO的已定义资源是未完成的API。同时,首先要定义的是资源名称、查询参数和其他一些API细节,因此我将首先定义RAML。此外,当消费者处于比仅仅获取数据更复杂的级别,并且有一些业务逻辑时,如果没有定义DTO,那么更改API的使用可能会非常昂贵。因此,我建议事先就这一点达成一致 在API实

从设计角度来看,在开发之前,在将合同分享给消费者之前,先创建RAML,然后生成DTO或vica,哪种方式更好?

据我所知,没有区别,因为两者都应该这样做

RAML用于记录和定义DTO扮演重要角色的API。没有正确DTO的已定义资源是未完成的API。同时,首先要定义的是资源名称、查询参数和其他一些API细节,因此我将首先定义RAML。此外,当消费者处于比仅仅获取数据更复杂的级别,并且有一些业务逻辑时,如果没有定义DTO,那么更改API的使用可能会非常昂贵。因此,我建议事先就这一点达成一致


在API实现开始之前,不可能看到所有的细节,但在技术设计阶段花费几个小时,比在API需求发生变化时在实现阶段花费几天或几周的时间要好

你是说DTO是从API返回的对象吗?是的,请求/响应对象。是的,但问题是在设计合同时,我遇到了这样一种情况:合同非常容易更改,因此首先创建RAML看起来效率不高,因为每次我都必须更改DTO(添加新字段、返回类型等)RAML是需要改变的,它认为我应该首先创建DTO,一旦生成最终的RAML。我同意我们来回传递的对象是重要的部分,但我不认为RAML生成应该阻止首先创建RAML。为什么是一个大问题?我假设生成它不需要很长时间。这不是一个问题,但要求消费者根据新的raml一次又一次地重新生成DTO似乎不合适。相反,我们可以等到DTO最终确定后再创建最终合同。这只是一种权衡,但没有什么不好的。