JAX-RS:模型和最佳实践

时间:2012-09-04 02:58:42

标签: java spring jersey jax-rs

我有一个JAX-RS服务(我使用Jersey),现在我必须做客户端。我想知道你们是如何用来处理模型对象的。 你是否将模型类放在不同的jar中,以便在客户端和服务器之间共享它?你总是使用DTO还是有时(总是?)返回jpa实体。

我必须使用的服务(我没有创建它,但我可以修改它),经常返回实体,所以我想知道如果我将这些类外部化是不是有点奇怪。

你怎么看?你有什么用?

1 个答案:

答案 0 :(得分:3)

这取决于项目的复杂程度以及您在其中使用JAX-RS的目的:

  • 对于非常简单的项目,我不会再创建一个DTO层
  • 对于像你这样的项目似乎只是使用JAX-RS将数据从java客户端移动到java服务器我也不会再创建一个层。那是因为你负责两端(客户端和服务器)并且因为你在两个地方重复使用相同的对象(将它们放在一个单独的jar和maven模块中是一个好主意)
  • 对于使用JAX-RS向外部客户端公开API的项目,最好将模型与带有DTO的API分离,以便允许它们独立发展。例如,您并不总是希望通过API公开所有字段,或者在更改模型中的内容时破坏客户端。

稍后编辑

  • 对于仅将其模型数据字段的子集传输到客户端的项目,DTO层因效率原因而有用