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'只是達:一個值爲2;一次一次,一次兩次。它不是一個數組,也沒有在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

相關問題