Я прочитал статью в REST - сложных приложениях и отвечает на некоторые из моих вопросов, но не все.
Я разрабатываю свое первое приложение REST и должен возвращать списки подмножества в запросы GET. Что из следующего более "RESTful"?
/patients;listType=appointments;date=2010-02-22;user_id=1234
или
/patients/appointments-list;date=2010-02-22;user_id=1234
или даже
/appointments/2010-02-22/patients;user_id=1234
Будет около десятка различных списков, которые мне нужно вернуть. В некоторых из них будет несколько параметров фильтрации, и я не хочу иметь большие инструкции "if" в моем коде сервера, чтобы выбрать подмножества, основанные на том, какие параметры присутствуют. Например, мне могут понадобиться все пациенты для конкретного врача, где врач-покров - другой, а основной врач - еще один. Я мог бы выбрать
/patients;rounds=true;specific_id=xxxx;covering_id=yyyy;primary_id=zzzz
но для получения правильного списка потребуется сложная ветвящаяся логика, где запрос на конкретное подмножество (rounds-list) достигнет того же самого.
Обратите внимание, что мне нужно использовать параметры матрицы вместо параметров запроса, потому что мне нужно выполнить фильтрацию на нескольких уровнях URL. Рамка, которую я использую (RestEasy), полностью поддерживает параметры матрицы.