На работе каждый раз, когда я занимаюсь созданием CRUD API, я всегда возвращаю полный объект для создания и обновления.
Сейчас я разрабатываю личный проект, и мне интересно, может ли быть хорошей идеей вместо этого возвращать только идентификатор.
Это означает, что если интерфейсу нужны полные данные, он вызовет открытый API findById.
Не возвращать эти данные — это совершенно нормально. Вы должны как минимум вернуть заголовок Location
, указывающий на вновь созданный ресурс со статусом 201 Created
.
Возврат полного объекта может удалить одно обращение. В таких случаях вам следует вернуть заголовок Content-Location
. Вы также можете позволить клиенту решить, хочет ли он этого, с помощью заголовка Prefer: return=representation
.
Общий совет по дизайну: перестаньте думать об идентификаторах в маршрутах. Весь URL-адрес уже имеет уникальный идентификатор.
@PaulMarcelinBejan Нет. Вероятно, вы можете погуглить что-то вроде HTTP-заголовков + [ваш язык/фреймворк по выбору]. Удачи!
Я новичок в заголовке, есть ли у вас какие-либо рекомендации по обучению, с которых можно начать, чтобы узнать об этом больше? Я работал только с телом запроса и телом ответа.