2014-09-04 3 views
5

Я создаю задачи с различными свойствами, и я передаю данные JSON из Angular frontend на основе Java. Assignee - свойство класса Task на данный момент. Пришел новый запрос, чтобы изменить поведение: пользователь должен иметь возможность выбирать нескольких правопреемников при создании новой задачи.REST API POST Ответ после создания нескольких объектов?

Способ, которым я хочу справиться с этим, заключается в том, что я хочу создать столько же задач, сколько было передано число цессионариев. Поэтому, если n пользователей передаются с различными данными задачи, n задачи будут созданы в БД для каждого пользователя в качестве правопреемника.

Раньше я мог пройти только один правопреемника и код для возвращения ответа на запрос на пост был следующий:

@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

Есть ли обычный способ сделать это (например, с использованием класса построителя ответов) или мне нужно переключиться с ответа на запрос на пользовательский объект JSON? – SLOBY

+0

Вы можете добавить 'link' или вы можете вставлять ссылки в конверт в объекте ответа. –

+0

Можете ли вы указать мне на решение, как это можно сделать с помощью API Джерси в java? Я не могу найти подходящие методы. – SLOBY

Смежные вопросы