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 например.

Другие вопросы по тегам