[node.js] ExpressJS의 req.query 및 req.param
간의 주요 차이점 req.query
및 req.param
익스프레스
- 둘 다 어떻게 다릅니 까
- 사용하는 경우 어떤 경우에
클라이언트가 요청에서 Android (Key, value) 쌍을 전송한다고 가정합니다. …….. 어떤 것을 사용할까요?
[편집하다]
안드로이드가 POST 요청을 보낸다고 가정하면-> 의도는 (Key, Value)를 클라이언트에 보내고 서버는 서버의 값을 기반으로 데이터베이스 쿼리를 수행하고 JSON 응답을 반환해야합니다.
봐 :: 내가 참조한 프로그램에 대한이 질문에서 : : 결과 쿼리를위한 Simple Express 프로그램
답변
req.query
쿼리 문자열이 구문 분석 된 후 JS 개체를 반환합니다.
? / 사용자 이름 = 톰 & 연령 = 55 – req.query
얻을 것이다{name:"tom", age: "55"}
req.params
일치하는 경로의 매개 변수를 반환합니다. 경로 인 경우 / 사용자 / : ID 및에 요청 만들기 / 사용자 / 5 – req.params
얻을 것이다{id: "5"}
req.param
요청에서 매개 변수를 제거하는 함수입니다. 이 모든 것은 여기 에서 찾을 수 있습니다 .
최신 정보
동사가 인 경우 POST
와 사용하는 bodyParser
, 당신은 당신이 함수의 형태로 몸을 얻을 수 있어야합니다 req.body
. 그것은 POST
ed 양식 의 구문 분석 된 JS 버전이 될 것 입니다.
답변
req.query
서버로 전송 된 쿼리 문자열입니다 (예 : /page?
test = 1 ) req.param
는 핸들러에 전달 된 매개 변수입니다.
app.get('/user/:id', handler);
, 가기 /user/blah
, req.param.id
반환 blah
;
답변
다음을 사용하는 것이 좋습니다.
req.param('<param_name>')
req.param ( “”)은 다음과 같이 작동합니다.
조회는 다음 순서로 수행됩니다.
req.params
req.body
req.query
req.body, req.params 및 req.query에 대한 직접 액세스는 각 객체의 입력을 진정으로 받아들이지 않는 한 명확성을 위해 선호되어야합니다.
답변
매개 변수 전달
GET request to "/cars/honda"
Honda 자동차 모델 목록을 반환합니다.
쿼리 전달
GET request to "/car/honda?color=blue"
Honda 자동차 모델 목록을 반환하지만 스톡 색상이 파란색 인 모델 만 반환되도록 필터링됩니다.
이러한 필터를 URL 매개 변수 (/ car / honda / color / blue)에 추가하는 것은 의미가 없습니다. REST에 따르면 “파란색”색상에 대한 많은 정보를 얻고 자 함을 의미하기 때문입니다. 우리가 정말로 원하는 것은 Honda 모델의 필터링 된 목록이므로 쿼리 문자열을 사용하여 반환되는 결과를 필터링합니다.
쿼리 문자열은 실제로는 약간 다른 형식 (? key1 = value1 & key2 = value2 & key3 = value3)의 {키 : 값} 쌍입니다.