2014-09-04 62 views
5

我使用各种属性创建任务,并将JSON数据从Angular前端传递到基于Java的后端。受让人目前是Task类的一个属性。 新的请求进入改变行为:用户应该能够在创建新任务时选择多个受让人。REST API POST多个对象创建后的响应?

我想处理这个问题的方式是,我想创建与受让人数量相同的任务量。因此,如果n用户与各种任务数据一起传递,则作为受让人的每个用户都将在DB中创建任务n

以前我只能通过一个受让人和返回POST请求的响应代码为以下几点:

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
public Response save(TaskInDto taskInDto) { 
    // saving to DB, etc... 
    String taskId = createdTask.getId().toString(); 
    URI taskUri = uriInfo.getAbsolutePathBuilder().path(taskId).build(); 
    return Response.created(taskUri).build(); 
} 

我的问题是关于REST设计:我应该作为结果对象返回给用户如果创建多个对象?

回答

2

如果POST请求正在创建多个对象,则客户端将返回包含指向每个创建资源链接的响应实体。

+0

是否有一种常规的方式来做到这一点(如使用Response builder类)还是应该从返回一个Response到一个自定义的JSON对象? – SLOBY 2014-09-04 16:44:31

+0

您可以添加“链接”,也可以将链接嵌入响应实体的信封中。 – 2014-09-04 17:48:34

+0

你可以指点我解决方案如何在Java中使用Jersey API完成?我找不到合适的方法.. – SLOBY 2014-09-04 23:08:45