寻找不同REST资源表示的命名约定的建议

时间:2014-02-08 09:22:24

标签: rest spring-mvc jersey resteasy

在使用任何REST框架(jersey,resteasy,spring-mvc)时,(持久性)模型类与公开的REST资源表示形式不同。 即使大多数时候,传入的json表示(例如创建和更新)与传出的json表示(例如list,get,..)不同。

我正在寻找一些好的命名约定来解决这个问题。

示例结构:

+-- my.comp.domain.Customer
+-- my.comp.rest.resource.CustomerResource (or CustomerController)

CustomerResource将在内部使用Customer来持久存储和检索数据。 但是对于外部(Request + Response对象),它将使用一些不同的结构。

我现在所做的是:

+-- my.comp.rest.representation.CustomerRequest 
+-- my.comp.rest.representation.SimpleCustomerResponse
+-- my.comp.rest.representation.SimpleCustomerCollectionResponse
+-- my.comp.rest.representation.ExtendedCustomerResponse

这些基本上都是简单的POJO,只包含字段。使用的REST框架将使用它们将其转换为json。

其他人使用不同的名字?我愿意接受建议。

1 个答案:

答案 0 :(得分:0)

而不是将Request,Response作为单独的尝试,使用通用的基本表示来表示大多数,并根据需要添加额外的。

POST / customers / - class可以是' CustomerRepresentation / CustomerContract / CustomerRp / representation.CustomerModel'

GET / customers / {id} - 返回相同的CustomerRepresentation或上述

PUT - 同样

GET / customers / - CustomerListRepresentation或相同

链接可以附加到其对应的对象作为create的可选项。

请让我知道你的想法。