У нас есть коллекция документов:
class Document {
id;
title;
someContent;
creator;
...
}
Необходимо реализовать REST API, который в первом случае возвращает все документы со всеми полями («id», «title», «someContent» и т. Д.),Во втором случае верните все документы, но только часть полей (только «id» и «title»).
Каким способом лучше всего это сделать? Это хорошая идея, чтобы реализовать его в одной конечной точке с параметром запроса "поле"? Или лучше разделить их на разные конечные точки? Также я могу использовать для этого код статуса 206? Есть ли «наилучшая практика» для реализации этой функции?
Например, я могу сделать это так (но я не уверен, что это правильно):
GET /documents (200 status code)
GET /documents?field=id&filed=title (206 status code)
Следовательно,«field» - необязательный параметр запроса, который просто указывает поля, которые мы должны вернуть.
В первом Get все поля будут возвращены. Как пример: [{id: "5F1AB3", title: "Document 1", creatur: "John", ...}, {...}]
. Во втором JSON только с двумя полями: ID и заголовок. Ответ выглядит следующим образом: [{id: "5F1AB3", title: "Document 1"}, {...}]
.