Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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开发的基于REST的应用程序java体系结构中,我应该为请求/验证拆分一个实现,为域拆分一个实现吗?_Java_Rest - Fatal编程技术网

在java开发的基于REST的应用程序java体系结构中,我应该为请求/验证拆分一个实现,为域拆分一个实现吗?

在java开发的基于REST的应用程序java体系结构中,我应该为请求/验证拆分一个实现,为域拆分一个实现吗?,java,rest,Java,Rest,在过去,假设我有一个Bike的域模型,所以我会创建一个名为Bike的接口,在过去,我会创建一个实现。在该实现中,我将填充验证、JSON规则、数据库映射注释等。 这似乎使系统变得丑陋和脆弱。要映射、显示和变换的旋转太多了 在我进行实验时,我想知道我是否应该创建一个只接受输入和验证数据的实现,并从中创建一个模型实例,以便在一些转换之后在代码中更深层次使用。 因此: 然而,当我这样做的时候,我似乎失去了json转换的全部意义,并且增加了接口地狱的复杂性。因为我看到的是 (Type)Bike ->

在过去,假设我有一个Bike的域模型,所以我会创建一个名为Bike的接口,在过去,我会创建一个实现。在该实现中,我将填充验证、JSON规则、数据库映射注释等。 这似乎使系统变得丑陋和脆弱。要映射、显示和变换的旋转太多了

在我进行实验时,我想知道我是否应该创建一个只接受输入和验证数据的实现,并从中创建一个模型实例,以便在一些转换之后在代码中更深层次使用。 因此:

然而,当我这样做的时候,我似乎失去了json转换的全部意义,并且增加了接口地狱的复杂性。因为我看到的是

(Type)Bike -> (Types) BikeWeb, BikeModel -> BikeWebImpl, BikeModelImpl
…乘以1000

我想问的是,我所描述的设计模式是一种典型的模式,在关于该走哪条路的争论中,我应该使用的实际模式,还是我的葫芦用完了


java世界中的每一个REST解决方案似乎都有这个难题,所以我可能应该使用另一个解决方案,我对此也持开放态度。

老实说,我不知道为什么需要接口和模型的实现。为什么不使用“自行车”类来表示模型

似乎您正在寻找的是DTO模式。DTO对象表示通过请求或响应发送的有效负载实例。这样的对象可以根据JSON语法和一些值进行验证——我的意思是,一些字段可以设置为保存0到10之间的值。这种验证可以在这个级别上完成。第二类对象是模型本身。这样就有两个班只有自行车和自行车。请看看这个。这可能会使你的疑虑有所澄清

(Type)Bike -> (Types) BikeWeb, BikeModel -> BikeWebImpl, BikeModelImpl