簡體   English   中英

從 ASP.NET Web API 中的 URI 到字典的模型綁定

[英]Model binding to Dictionary from URI in ASP.NET Web API

請參考MVC的這個鏈接: http : //aspnetwebstack.codeplex.com/discussions/351011

我在模型綁定方面遇到了問題。 我從 JavaScript 向名為“/api/products”的 API 端點發出 GET Ajax 請求,傳入一些參數,包括分頁和排序作為查詢參數。 這是完整的 URI:

http://localhost/api/products?page=1&count=10&filter[name]=Test1&filter[price]=10&sorting[name]=desc

在服務器端,我有一個 Web API 控制器從 URI 接受這些屬性:

public async IHttpActionResult Get([FromUri]Dictionary<string,string> filter, [FromUri]Dictionary<string,string> sorting, int count, int page)
{
        //...
}

"count" 和 "page" 參數綁定得很好,過濾器和排序綁定為字典的實例,但其計數為 0。

我在 MVC 中得到了這個,但它似乎並沒有在 Web API 中做卡車。

您仍然可以利用開箱即用的默認模型綁定器,您的 uri 看起來像

http://localhost/api/products?page=1&count=10&filter[0].key=name&filter[0].value=Test1&filter[1].key=price&filter[0].value=10&sorting[0].key=name&sorting[0].value=desc

我認為最好使用模型作為參數,例如:

Public class model
{
Public Dictionary<string,string> filter{get;set;}
Public Dictionary<string,string> sorting{get;set;}
Public int sorting{get;set;}
}

public async IHttpActionResult Get(model yourModel)
{
        //...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM