У меня есть один ID REST API, который мне нужно расширить для поддержки нескольких (до 10 КБ) идентификаторов.В основном, для запуска обновления всех соответствующих идентификаторов вместо отправки запроса 10Ks в сети.
Текущая конечная точка:
@POST
@Path("{id}/update")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public ResponseVO updateBlockReason(@PathParam("id") int id, List<RequestVo> requestVo) {
Один вариант , предложенный - это значения, разделенные запятыми в виде stackexchange ответы по идентификаторам
Использование / answers / {ids} GET
{ids} может содержать до 100 идентификаторов, разделенных точкой с запятой.Чтобы найти идентификаторы программным способом, найдите answer_id для объектов ответа.
Это относится к аналогичным ответам
http://our.api.com/Product/<id1>,<id2>
: как предположил Джеймс, можетэто будет вариант, поскольку после тега Product указывается параметр
Но мне кажется, что это неудобно, и RequestVo
будет одинаковым для всех идентификаторов (что в настоящее время хорошо, но позже добавить такую поддержку будет сложнее)
Кажется, мне нужно изменить переменную Path, чтобы добавить ее в RequestVO
Это означает, что Id будет ключом JSON, например,
[{
"id" : "1",
"name": "myAttribute"
"toggle": true
},
{
"id" : "2",
"name": "mySecondAttribute"
"toggle": false
}
]
Это правильный подход или я что-то упустил?
Заранее благодарю за любые комментарии \ ответы
Текущий запрос VO
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RequestVO {
private String name;
private boolean toggle;
// will add now private int id
}
Меня беспокоит также, если я хочу (одно из требований) обновить с тем же запросом (как name = doA, toggle = true) для идентификаторов 10Ks, мне придется дублировать VO запроса вместо того, чтобы отправлять ID отдельно