REST: Обработка стиля матрицы и параметра шаблона с одинаковым именем в запросе - PullRequest
0 голосов
/ 13 февраля 2019

Рассмотрим следующий запрос

   GET http://localhost:8080/app/{id}/details;id=some-value-here

В приведенном выше запросе есть один параметр стиля шаблона с именем id и одно имя / значение параметра типа матрицы в виде id=some-value-here.

Каким должно быть поведение API при обслуживании таких запросов?

  • Обрабатывать запрос как обычно, обрабатывая дублирующиеся ключи параметров?потому что, хотя ключи параметров одинаковы, их пути различны.Один - это стиль шаблона, другой - стиль матрицы.
  • Отклонить запрос, сказав, что в именах параметров есть конфликт?
  • Какой-либо HTTP RFC, определяющий разрешение таких конфликтов?

1 Ответ

0 голосов
/ 14 февраля 2019

Нашел ответ в RFC.

Согласно RFC 6570 для шаблона URI, в частности, раздел 3.2.1 .Расширение переменной говорит следующее (отрывок)

Если переменная появляется более одного раза в выражении или в нескольких выражениях шаблона URI, значение этой переменной ДОЛЖНО оставаться статическим в течение всего процесса расширения (т. Е.переменная должна иметь одно и то же значение для расчета каждого расширения).

Это означает, что обрабатывает запрос, но сохраняет любое первое значение id, встречающееся при расширении URI.

Например,

GET http://localhost:8080/app/{id}/details;id=some-value-here

, если id было 1, расширение должно быть

GET http://localhost:8080/app/1/details;id=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...