Зачем использовать "?"вместо ":" в URL? - PullRequest
0 голосов
/ 31 мая 2018

Мы можем использовать

'PATCH /companies/:id' : 'CompanyController.find'

для обновления данных.

Один из них предложил мне использовать альтернативный способ:

'PATCH /companies/find?key=Value' 

Но я не знаючто это работаетПожалуйста, объясните мне, почему мы предпочитаем ? отметку, чем : отметку в пути поиска.

Ответы [ 4 ]

0 голосов
/ 19 июня 2018

Вероятно, вы все напутали:

  • Согласно вашему примеру, :id указывает переменную, которая должна быть заменена фактическим значением в некоторых средах, таких как Express.Подробности см. В документации .

  • И ? обозначает начало строки запроса компонента в соответствии с RFC 3986.

0 голосов
/ 31 мая 2018

Это правило для разработки API для отдыха
Вы можете найти 'как разработать API для отдыха'

Предполагая, что ниже приведен код Sails.js

'PATCH /companies/:id' : 'CompanyController.find'

Это сделает REST API, который будет отображен на «CompanyController.find» с помощью PathParam.Например,

www.example.com/companies/100

Второй будет создавать REST API с помощью QueryParam.
Он также отображается на «CompanyController.find»

/companies/find?key=Value

Но формат APIэто отличается.Например,

www.example.com/companies/find?key=100

PathParam или QueryParam прекрасно подходят для создания REST API.
Если ключ является основным для юридического лица компании, я думаю, что PathParam более уместен, чем QueryParam.

0 голосов
/ 01 июня 2018

http://en.wikipedia.org/wiki/URL

Если мы запускаем GET-запрос,?Символ используется, чтобы сервер знал, что переменные параметра url начинаются оттуда.И это обычно используется.Я не использовал: символ вместо?

0 голосов
/ 31 мая 2018

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

Использование переменной пути (:) может символизировать доступ к определенному ресурсу, например,идентификатор пользователя, где в качестве аргумента (?) может символизировать, что вы динамически изменяете / ищете что-то в определенном ресурсе, например токен или поисковый термин.

Из того, что я могу сказать, это общая практикаЯ вижу:

example.com/user/:username

против

example.com/user/?search="foo"
...