В MVC должна ли информация о нумерации страниц идти по пути или строке запроса?

StackOverflow https://stackoverflow.com/questions/436889

Вопрос

В пути:

Формат: http://mydomain.com/{category}/{subcategory}/{pageNumber}/{pageSize}

Пример: http://mydomain.com/books/thriller/3/25

В строке запроса:

Формат: http://mydomain.com/{категория}/{подкатегория}?pageNumber={pageNumber}&pageSize={pageSize}

Пример: http://mydomain.com/books/thriller?pageNumber=3&pageSize=25

Мне нравится, когда все находится на пути, но моя проблема в том, что, хотя это очевидно (или, по крайней мере, в некотором роде очевидно) что такое «книги» и «триллер» в первом примере, «3» и «25» по контрасту кажутся довольно произвольными.

Существует ли канонический метод определения того, что и где происходит в MVC, или это действительно зависит только от разработчика?

Это было полезно?

Решение

Я предпочитаю, чтобы такие вещи, как номера страниц, были в переменных строки запроса. Я думаю, что есть разница в информативности между

http://mydomain.com/books/thriller?pagesize=50&page=4

и

http://mydomain.com/books/thriller/50/4

Смысл (для меня) в наличии чистых URL-адресов заключается в том, чтобы они были более наглядными и удобочитаемыми, и я считаю, что первый пример - именно это.

Одна интересная мысль, высказанная JohnRudolfLewis , такова:

  

Одно из правил, которым я следую,   что если аргумент требуется,   рассмотреть возможность использования пути, если   аргумент необязательный, всегда используйте   Аргументы строки запроса.

Другие советы

Основное правило, которому я следую, заключается в том, что если аргумент обязателен, рассмотрите возможность использования пути, если аргумент необязательный, всегда используйте аргументы строки запроса.

В целом, я бы придерживался того, что делает URL более читабельным.

Этот сайт помещает его в строку запроса: https://stackoverflow.com/questions?page=2&pagesize=30

Ну, это, очевидно, зависит от вас. Но вы разрабатываете интерфейс RESTful, который должен быть удобочитаемым. Строка запроса намного лучше в этом отношении. В противном случае вы смотрите на два числа, которые действительно могут быть чем угодно. И кто будет помнить заказ?

  

Есть ли канонический метод определения того, что и где происходит в MVC, или это действительно только разработчик?

Это зависит от вас.

MVC - это организация / поток кода на стороне сервера и отделение представления от бизнес-уровня, а не столько параметры запроса.

Вы также можете рассмотреть следующее

Формат

http://mydomain.com/{category}/{subcategory}/page/{pageNumber}/results/{pageSize}

Пример

http://mydomain.com/books/thriller/page/3/results/25

Это в значительной степени зависит от разработчика. Я бы сказал, поместите размер страницы в URL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top