development

Express의 URL에서 여러 매개 변수 사용

big-blog 2020. 12. 11. 19:05
반응형

Express의 URL에서 여러 매개 변수 사용


Express를 Node와 함께 사용하고 있으며 사용자가 URL을 다음과 같이 요청할 수있는 요구 사항이 있습니다 http://myhost/fruit/apple/red.

이러한 요청은 JSON 응답을 반환합니다.

위의 호출 이전의 JSON 데이터는 다음과 같습니다.

{
    "fruit": {
        "apple": "foo"
    }
}  

위의 요청에서 응답 JSON 데이터는 다음과 같아야합니다.

{
    "apple": "foo",
    "color": "red"
}

다음과 같이 라우팅하도록 Express를 구성했습니다.

app.get('/fruit/:fruitName/:fruitColor', function(request, response) {
    /*return the response JSON data as above using request.params.fruitName and 
request.params.fruitColor to fetch the fruit apple and update its color to red*/
    });  

그러나 이것은 작동하지 않습니다. 여러 매개 변수를 전달하는 방법을 잘 모르겠습니다. 즉, /fruit/:fruitName/:fruitColor이 작업을 수행하는 올바른 방법 인지 확실 하지 않습니다. 맞나요?


app.get('/fruit/:fruitName/:fruitColor', function(req, res) {
    var data = {
        "fruit": {
            "apple": req.params.fruitName,
            "color": req.params.fruitColor
        }
    }; 

    send.json(data);
});

그래도 작동하지 않으면 console.log (req.params)를 사용하여 무엇을 제공하는지 확인하십시오.


당신이 원하는 것을 위해 나는 사용했을 것입니다

app.get('/fruit/:fruitName&:fruitColor', function(request, response) {
   const name = request.params.fruitName 
   const color = request.params.fruitColor 
});

또는 더 나은

  app.get('/fruit/:fruit', function(request, response) {
   const fruit = request.params.fruit
   console.log(fruit)
});

과일은 물체입니다. 따라서 클라이언트 앱에서

https://mydomain.dm/fruit/{"name":"My fruit name", "color":"The color of the fruit"}

응답으로 다음을 확인해야합니다.

    //  client side response
    // { name: My fruit name, , color:The color of the fruit}

참고 URL : https://stackoverflow.com/questions/15128849/using-multiple-parameters-in-url-in-express

반응형