C# 向web api发送json对象数组,如何格式化url?
我使用以下api-s编写了asp.net web api项目: 控制器方法:Uri: GetAllItems:/api/项目(工程) GetItem(内部id)/api/items/id(工程) 及 GetListoItem(IEnumerable items)/api/items/List of items(不工作) 函数与此类似(不关心逻辑) 但不是C# 向web api发送json对象数组,如何格式化url?,c#,asp.net,json,asp.net-web-api,C#,Asp.net,Json,Asp.net Web Api,我使用以下api-s编写了asp.net web api项目: 控制器方法:Uri: GetAllItems:/api/项目(工程) GetItem(内部id)/api/items/id(工程) 及 GetListoItem(IEnumerable items)/api/items/List of items(不工作) 函数与此类似(不关心逻辑) 但不是 http://localhost:50336/api/items/[{"Owner":"MySelf","Name":"C","Price":
http://localhost:50336/api/items/[{"Owner":"MySelf","Name":"C","Price":151},{"Owner":"Another","Name":"C++","Price":151}]
如果我有一个json格式的项目列表,我应该如何格式化最后一个请求以使其工作?您想用
HttpPostAttribute
和FromBodyAttribute
来修饰您的方法:
[HttpPost]
public IHttpActionResult GetByArray([FromBody]IEnumerable<Book> bks)
{
}
[HttpPost]
公共IHttpActionResult GetByArray([FromBody]IEnumerable bks)
{
}
然后将json作为post正文发送
你的邮递员应该是这样的: 专门针对
GetListOfItem(IEnumerable<Items> items)
并将请求发送为:
/GetListOfItem?itemIds=1&itemIds=2&itemIds=3
在请求体中传递JSON,而不是URL。。你能举例说明吗?我对网络世界很陌生,所以在这种情况下,举例说明是我理解的最好方式:)你能举例说明我应该如何做吗。我想知道的是,既然下面的一个不起作用,url命令应该如何编写?我的方法现在已经根据[HttpPost]公共IHttpActionResult GetByArray([FromBody]IEnumerable bks)签名,并且从postman发送的命令是{“Owner”:“Owner”:“Name”:“C”,“Price”:151},{“Owner”:“Another”,“Name”:“C++”,“Price”:“151}]根据我从邮递员日志中得到的回答,url命令无效欢迎。请随意接受答案(点击左边的灰色钩子)@user1520812在+1之前从未遇到过
FromUri
GetListOfItem(IEnumerable<Items> items)
GetListOfItem([FromUri] int[] itemIds)
/GetListOfItem?itemIds=1&itemIds=2&itemIds=3