【发布时间】:2018-07-10 11:49:07
【问题描述】:
我并不是要求这三者之间有区别。我正在开发一个使用 JAX-RS 构建的应用程序。它使用 Hibernate 与数据存储进行交互。每个用户都与一个特定帐户相关联。
当我删除任何用户时,我必须在删除请求的用户后返回该帐户的现有用户列表。我不需要 accountId 来删除用户,但我需要它来获取用户列表以在用户被删除后返回。我对哪种注释可以作为最佳做法感到困惑?
//Sending accountId in path variable
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Path("/user/{accId}/{userId}")
public List<Users> deleteUser(@HeaderParam("token") String token, @PathParam("accId") Integer accId, @PathParam("userId") Integer userId) {
userService.deleteUser(userId);
return userService.getUsers(accId);
}
//Sending accountId in header
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Path("/user/{userId}")
public List<Users> deleteUser(@HeaderParam("token") String token, @HeaderParam("accId") Integer accId, @PathParam("userId") Integer userId) {
userService.deleteUser(userId);
return userService.getUsers(accId);
}
//Sending accountId as query string
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Path("/user/{userId}")
public List<Users> deleteUser(@HeaderParam("token") String token, @QueryParam("accId") Integer accId, @PathParam("userId") Integer userId) {
userService.deleteUser(userId);
return userService.getUsers(accId);
}
【问题讨论】:
-
不能通过userId获取accountId吗?他们肯定是相关的。