Специальное ключевое слово как {id} в URI для идентификации специального ресурса - PullRequest
0 голосов
/ 29 марта 2020

Я разрабатываю REST API, и у меня есть наборы элементов, просто назовите его PROD;

У PROD есть типичные конечные точки, которые принимают типичные операции (POST, GET и т. Д.)

api/prods/AAAAA
api/prods/BBBBB
api/prods/CCCCC

Теперь я хотел бы определить конкретный c элемент, называемый текущий PROD;

Текущий PROD является одним из элементов, выбранных логикой c, которая полностью находится в бэкэнде и должна принимать все операции HTTP;

Как мне создать конечную точку для идентификации это?

это хороший выбор?

api/prods/current

затем в бэкэнде я прозрачно применяю операции к любому элементу, который считаю текущим .

Я пытаюсь реализовать это решение, но не совсем правильно.

Есть идеи, как справиться с этим сценарием, верно?

1 Ответ

1 голос
/ 29 марта 2020

Нет ничего плохого в том, что путь указывает на текущий PROD, но api/prods/current выглядит неоднозначно. Это текущий продукт или продукт с именем 'current'?

Может быть, apis/currentprod будет лучше, или apis/specialprods/current, или что-то еще, что явно не prod-by-name.

Однако будьте осторожны, потому что, вероятно, не удастся просто перенаправить запросы с currentprod на prods/whatever, потому что заголовки HTTP и операции, которые управляют кэшированием (ETag, Last-Modified, If-Modified-Since), et c., Не будет корректным, когда значения из одной цели используются для другой. Это может привести к тому, что клиенты будут использовать кэшированные данные с неправильного PROD.

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