URL-адрес соглашения для получения поля модели?
Есть ли предпочтительная схема URL для поля в ресурсе?
Я мог бы создать ресурс потока и использовать следующий URL для получения thread.posts, где thread.id = 8
/api/v1/thread/8/posts/
Или я мог бы получить тот же набор сообщений, используя ресурс публикации
/api/v1/post/thread_id__eq=8
post
имеет внешний ключ к thread
,
Есть ли предпочтительный способ сделать это? (Лучшая схема URL или соглашение о вкусном пироге?)
1 ответ
Это может быть немного самоуверенным, но для меня первый вариант будет более предпочтительным. Зачем?
- Структурированная.
- Не раскрывает и не зависит от внутренней реализации / схемы данных.
- Способ проще расширить.
- Это более читабельно.
- Предполагая, что второй вариант передает запрос в
GET
параметры, полезная нагрузка обычно не регистрируется веб-серверами (например, nginx).