2

私のアクションメソッドは、次のようになります。は、パラメータ名を有することを可能にする「[」ASP.NetコアWEB APIで

public IActionResult GetAll([FromQuery]string page[Number],[FromQuery]string page[Size]) 
    { 
    //code 
    } 

HTTP Request is like: "GetAll?page%5Bnumber%5D=0&page%5Bsize%5D=100". 

は問題:パラメータ名は、私は角括弧を持ってすることはできません。

+0

を 'その名[1]'や '名[キー] **はHTMLの特徴ではありません**。 HTMLの観点から見ると、それらは単なる名前であり、**配列ではありません**。一部のサーバー側のアプリケーション/言語(PHPなど)によっては、それを配列として解釈するだけです。しかし、もう一度、それは標準ではなく、 'name [key]'が辞書/リストの一種を表すという事実に依存しないでください** – Tseng

+0

Getパラメータにも同じように適用されます: 'index?a = 1&a = 2' is isちょうどtat:aの2つの値; 1回で1回、2回で1回。これは配列ではなく、HTML/Http標準で定義されていません。どの言語が何をするかを決める。すなわち、最初のものか最後のものかを数えます。あるものは、 'a [] = 1&a [] = 2'の場合にのみ他の配列を作るかもしれませんが、それは完全に実装に依存します。そのため、そのような用語やパターンの使用を避けるべきです。 – Tseng

答えて

2

以外にも、私はパラメータの単純な名前のために行くだろうと、あなたは辞書使用してこれを解決することができます:あなたが考慮しなければならない

public IActionResult GetAll(Dictionary<string, string> page) { 
    var x = page["Number"]; 
    var y = page["Size"]; 
} 
+0

私はエンドポイントを制御できません:)私はそれも簡単にしました!ありがとう! – XYZ

関連する問題