我想允许API的用户发送将在db上运行多个查询的GET请求,然后返回结果。
我有一个像这样的查询模型
public class QueryModel
{
public int A {get;set;}
public int B {get;set;}
public int C {get;set;}
}
我有一个带有这样的Get方法的控制器 -
public async Task<IActionResult> Get(List<QueryModel> queryModels)
{
foreach(var queryModel in queryModels)
{
// some logic to search the db
}
// combine the results and return
}
这对我不起作用,但我不知道我的查询字符串是错误还是方法错误。
我尝试了很多
的变体?model={[{1,2,3},{1,2,3}]}
但它们不起作用。
答案 0 :(得分:1)
你可以使用这样的结构:
\Get?model[0].A=1&model[0].B=2&model[0].C=3&model[1].A=4&model[1].B=5&model[1].C=6
几乎忘了,加上FromUri:
public async Task<IActionResult> Get([FromUri] List<QueryModel> model)
{
...
}
如果这对你有用,请告诉我。