1. ホーム
  2. node.js

[解決済み] express で URL に複数のパラメータを使用する

2023-05-07 14:08:07

質問

私はNodeでExpressを使っていますが、ユーザーが次のような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)を使って、何を出しているのか確認してみてください。