Express.js - req.query против req.params
Прежде чем пометить это как дубликат, пожалуйста, поймите, что я не смог получить объяснения, которые я искал, из других ответов.
Если бы я делал приложение, которое искало клиента на основе URL-идентификатора, какая разница между customers/1234
и используя req.params
а также customers?id=1234
и используя req.query
? Что два метода данных URL делают по-разному?
3 ответа
Нет никакой разницы от производительности или функциональности. о стандартах конкретно restful против non restful URL. обычно в остальных услугах часть идентификации ресурсов находится на пути, а запрос или поиск используются для целей фильтрации. это считается хорошей практикой, и это соглашение. за этим нет никаких технических причин, кроме того, что их легче читать и идентифицировать. Вы можете узнать больше об этом в таких местах, как
https://restfulapi.net/resource-naming/
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
https://hackernoon.com/restful-api-designing-guidelines-the-best-practices-60e1d954e7c9
Среди других Все дело в том, что вы пытаетесь построить, и насколько близко вы хотите к стандартам.
Согласно экспресс-документам, похоже, что различия между req.query
а также req.params
так же, как вы упомянули, в том, что они представляют собой другой способ достижения аналогичного конечного результата. То, что вы выберете, на самом деле является лишь вопросом ваших личных предпочтений относительно того, как вы хотите передавать данные в Express.
Это то же самое, но customers/1234
красивее чем customers?id=1234
в URL.
Это зависит от того, что вы предпочитаете, но если вы сравните сайты, вы увидите, что многие из них используют первый синтаксис. Посмотрите на Stackru например.