Principais diferenças entre req.query
e req.param
no Express
- Como ambos são diferentes um do outro
- Quando usar e em que casos
Suponha que um cliente envie, digamos, par Android (chave, valor) na solicitação ... qual usar?
[EDITAR]
Suponha que o Android envie uma solicitação POST -> A intenção é enviar (chave, valor) para o cliente e o servidor deve realizar uma consulta ao banco de dados com base no valor no servidor e retornar uma resposta JSON
Olhar :: esta questão para o programa i referenciados: : Programa Express simples para consultar resultado
req.query
ereq.param
?Respostas:
req.query
retornará um objeto JS depois que a string de consulta for analisada./ user? name = tom & age = 55 -
req.query
resultaria{name:"tom", age: "55"}
req.params
retornará parâmetros na rota combinada. Se sua rota for / user /: id e você fizer uma solicitação para / user / 5 -req.params
resultará{id: "5"}
req.param
é uma função que remove parâmetros da solicitação. Tudo isso pode ser encontrado aqui .ATUALIZAR
Se o verbo for a
POST
e você estiver usandobodyParser
, você deve ser capaz de obter o corpo da forma com a qual funcionareq.body
. Essa será a versão JS analisada doPOST
formulário ed.fonte
req.query
é a string de consulta enviada ao servidor, exemplo/page?
test = 1 ,req.param
são os parâmetros passados para o manipulador.app.get('/user/:id', handler);
, indo para/user/blah
,req.param.id
voltariablah
;fonte
req.data
, se for GET t estarei noreq.param
c.Param("id") == ""
Eu sugeriria usar a seguir
req.param('<param_name>')
req.param ("") funciona da seguinte forma
A pesquisa é realizada na seguinte ordem:
O acesso direto a req.body, req.params e req.query deve ser favorecido para maior clareza - a menos que você realmente aceite a entrada de cada objeto.
Ref: http://expressjs.com/4x/api.html#req.param
fonte
Passando parâmetros
GET request to "/cars/honda"
retorna uma lista de modelos de carros Honda
Passando consulta
GET request to "/car/honda?color=blue"
retorna uma lista de modelos de carros Honda, mas filtrada de forma que apenas os modelos com uma cor azul de estoque sejam retornados.
Não faz sentido adicionar esses filtros aos parâmetros da URL (/ car / honda / color / blue) porque, de acordo com REST, isso implicaria que desejamos obter um monte de informações sobre a cor "azul". Como o que realmente queremos é uma lista filtrada de modelos Honda, usamos strings de consulta para filtrar os resultados que são retornados.
Observe que as strings de consulta são, na verdade, apenas pares de {chave: valor} em um formato ligeiramente diferente:? Chave1 = valor1 & chave2 = valor2 & chave3 = valor3.
fonte