Я пытаюсь реализовать REST-ful API с использованием Vapor 3, и я предпочел бы использовать то, что кажется довольно стандартным шаблоном создания в других веб-фреймворках: я хотел бы, чтобы контроллеры создания сущностей возвращали 201 Created
статус ответа, с Location
заголовком ответа, который содержит полный URL вновь созданного ресурса.
Вся документация Vapor 3, которую я могу найти, показывает шаблон создания, который вместо этого возвращает 200 OK
статус и включает полный ресурс в теле ответа.Но я не могу найти примеров, использующих ответ 201, хотя в моем опыте это, как правило, является более стандартным подходом к API REST.
Я обнаружил, что могу вручную создать ответ 201 в своемконтроллер, и я предполагаю, что есть способ установить произвольные заголовки в этом ответе.Если да, есть ли удобный способ получить полный URL-адрес только что созданного ресурса, чтобы я мог установить заголовок Location
в ответе?
Я уверен, что есть способы, которыми я могуэто «грубая сила», чтобы получить то, что я хочу, но я надеюсь, что Vapor определит идиоматический способ сделать это, во многом как в случае с Java и Rails-структурами, которые я использовал.