我正在尝试请求以下查询字符串url:api/item?name=storm&name=prest
我使用下面的代码,但无法使代码生效。
public class ItemController : ApiController
{
private cdwEntities db = new cdwEntities();
public HttpResponseMessage Get([FromUri] Query query)
{
var data = db.database_ICs.AsQueryable();
if (query.name != null)
{
**data = data.Where(c => c.Name.Split("&").Contains(query.name));**
}
if (query.id!= null)
{
data = data.Where(c => c.ID== query.id);
}
if (!data.Any())
{
var message = string.Format("No data was found");
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
}
return Request.CreateResponse(HttpStatusCode.OK, data);
}
}
非常感谢任何帮助。
答案 0 :(得分:0)
您无法在Querystring中传递相同的名称键。浏览器/代码未标识哪个是正确的值,如果您想要多个值,则将其作为对象传递。
答案 1 :(得分:0)
你可以使用post Api并发送[name]的数组。
name = [item1,item2....]
public void Post([FromBody] List<string> name) {
}