REST方法返回类型-最佳实践E

REST方法返回类型-最佳实践E,rest,Rest,始终将响应作为所有REST服务的返回类型是一个好主意。 例如,假设我有一个方法可以获取所有客户 First way: public List <customer> getAllCustomers(){ // select all customers from database } Second Way: public Response getAllCustomers(){ // user Response.ResponseBuilder.entity(customer) } en

始终将响应作为所有REST服务的返回类型是一个好主意。 例如,假设我有一个方法可以获取所有客户

First way:
public List <customer> getAllCustomers(){
// select all customers from database
}

Second Way:
public Response getAllCustomers(){
// user Response.ResponseBuilder.entity(customer)
}

enter code here
第一种方式:
公共列表getAllCustomers(){
//从数据库中选择所有客户
}
第二种方式:
公众响应getAllCustomers(){
//用户响应.ResponseBuilder.entity(客户)
}
在这里输入代码

这是一个更好的方法。建议所有方法将响应作为返回类型返回(如第二种方式)。

我将创建您自己的响应对象。这将使您能够向客户传递有关操作、更新记录数、错误消息等的信息。此外,您的服务也将与客户保持一致


我想说,您不必返回任何响应数据,但应该适当地设置HTTP响应代码。类似于为操作的简单确认设置204(无内容)响应代码。

请阅读。这方面的规范似乎有点薄。Response允许您设置状态代码、标题等。如果不点击
HttpServletResponse
(这很难看)或使用过滤器(考虑所有可能的资源时很复杂),您就无法返回模型对象。在简单的GET情况下,响应总是200或404(我们可以抛出一个异常),返回模型对象是有意义的,但使用其他方法响应更容易。就我个人而言,我更喜欢保持一致,并总是回复回复。