我有一个由2个密钥识别的商务实体,例如:
m_bDirty to true
现在使用ASP.NET Web Api,如何使HTTP GET或HTTP DELETE接受多个参数?目前,默认生成的模板只接受1个键:
class UserItem {
[Key]
[Column(Order = 1)]
public string UserId {get;set;}
[Key]
[Column(Order = 2)]
public string ItemName {get; set;}
public int Count {get; set;}
}
db是我的datacontext,我在ASP.NET Web Api 2中使用EntityFramework 6
答案 0 :(得分:7)
如下所示映射您的路线将允许您传递两个参数,您可以通过这种方式添加更多这两个参数
[HttpGet]
[Route("api/item/{id1}/{id2}")]
[ResponseType(typeof(UserItem))]
public async Task<IHttpActionResult> GetUserItem(string id1, string id2)
{
UserItem item = await db.useritems.FindAsync(id1);
......
}
答案 1 :(得分:1)
我已经能够从默认的WebApi设置发送多个参数。
只做
Public async Task<IHttpActionResult> GetUserItem(string UserId, string ItemName)
{
UserItem item = await db.useritems.FirstOrDefault(c=>.UserId==UserId && c.ItemName==ItemName);
}
你在哪里遇到问题?