Параметр матрицы URL и параметр пути - PullRequest
0 голосов
/ 31 января 2019

У меня есть REST API, который должен использоваться для запроса многомерных данных, размеры могут варьироваться в зависимости от запрашиваемых данных, но для примера рассмотрим, что есть COUNTRY, INDICATOR и SEX.Пользователь может запросить любое (или ни одно) из измерений, и для каждого измерения они могут предоставить одно или несколько значений:

Мне нужно спроектировать API, который может принимать пары ключ-значение (я), мой оригиналдизайн был таким:

http://myapi/data/providerA?COUNTRY=UK;FR;DE&SEX=M

Но тогда лучшая практика подсказывает мне, что ресурс должен быть параметрами пути, поэтому что-то вроде этого:

http://myapi/data/COUNTRY=UK+FR+DE,SEX=M/providerA

Тогда я нашел матричные параметры, так что, возможно, это:

http://myapi/data;COUNTRY=UK+FR+DE;SEX=M/providerA

Вопрос, на мой взгляд, что лучше для параметров PATH этого варианта использования,или Матричные параметры?

Матричные параметры не являются официальной частью стандарта w3, но дают ли они преимущества по сравнению с использованием Path.Я могу думать о HTTP 304 (так как порядок параметров матрицы не имеет значения), и я не видел, чтобы параметры пути использовались как способ предоставления одного или нескольких фильтров в сегменте пути (то есть всего между двумя /).

...