Лучший способ дать варианты для запуска с или содержит в запросе REST - PullRequest
1 голос
/ 20 января 2011

У меня есть служба REST, которая позволяет людям вводить название курса как часть запроса, чтобы получить оценки, но иногда они могут захотеть получить группу, например, Calculus% для Calc 1, 2 и 3.

Но как лучше всего дать им вариант, который имеет смысл?

Например, у меня есть http://localhost/myrest/any/any/Calculus III

, гдеПервые два параметра - это идентификатор учащегося и некоторая категория оценки.

Я не думаю, что http://localhost/myrest/any/any/contains/Calculus III - хорошее применение, так как тогда мне нужно будет заставить их использовать равно , если это то, что они ищутfor.

Другая опция - http://localhost/myrest/any/any/Calculus% или http://localhost/myrest/any/any/%Calc% - другая опция, но затем вы удалили опцию, чтобы легко использовать % в качестве разрешенного символа.

Итак, чтобы предоставить дополнительные параметры фильтрации в URL-адресе REST, наилучший (определенный как самый простой / интуитивно понятный для пользователя) способ разрешить содержит или начинается с.

1 Ответ

1 голос
/ 21 января 2011

Будет ли следующий запрос в вашей системе перечислять все предметы в категории оценок?
http://localhost/myrest/any/any/

Если да, то одним из вариантов, который вы можете рассмотреть, является извлечение неточного имени субъекта в параметр GET. Таким образом, не нарушая существующую логику, когда полное имя субъекта в URL обеспечивает оценку для этого предмета, у вас также будет возможность отфильтровать список предметов в той же категории оценок с помощью параметра GET. 1004 *

Например:
http://localhost/myrest/any/any/?search=Calculus*

... может дать такой результат:

<subjects>
    <subject uri="/myrest/any/any/Calculus%20I">A</subject>
    <subject uri="/myrest/any/any/Calculus%20II">B</subject>
    <subject uri="/myrest/any/any/Calculus%20III">C</subject>
</subjects>
...