REST API Url Pattern - PullRequest
       4

REST API Url Pattern

0 голосов
/ 16 мая 2018

В настоящее время я разрабатываю интерфейс REST API и пытаюсь выбрать наилучший способ структурирования вызовов.

Я предоставляю возможность создать запись в системе. Однако запись может быть создана с использованием двух разных наборов данных, в зависимости от того, какая система вызывает данные.

Я думал о предоставлении URL в формате

/api/create/auto
/api/create/manual

и использование той же функции (auto / manual будет параметром маршрута) для обработки с телом, содержащим соответствующие данные. Однако мне было интересно, если предоставить URL в формате

/api/createauto
/api/createmanual

и использовать две отдельные функции для обработки - лучший формат для использования. Процесс обработки довольно прост, я просто собираю входящие данные и передаю их одной из двух хранимых процедур в базе данных для выполнения работы. Если я делаю это первым способом, я должен добавить проверку, чтобы гарантировать, что передаются только правильные значения.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

REST Лучшие практики Api на самом деле утверждают, что конечные точки должны быть существительными, а не глаголами. В случае наилучшей практики конечная точка должна быть

POST / api / имя_объекта

Затем вы можете указать автоматический или ручной режим через поле в теле данных. В противном случае, если вы действительно хотите указать auto или manual через URL, вы можете использовать параметр запроса, хотя я не думаю, что это на самом деле кошерно.

POST / api / object_name? Type = auto

Ваша лучшая ставка, вероятно, добавит тип к телу json (при условии, что вы используете json). так что-то вроде

{"type":"auto","data":{data json object}}
0 голосов
/ 16 мая 2018

Вы можете настроить URL-адреса первыми и при этом указывать на 2 разные функции, используя атрибуты Route, чтобы задать маршрут для каждой функции.

[Route("create/auto")]
public void AutoCreate(){//do something...}

Ссылка на документы Microsoft по маршрутизации атрибутов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...