我在VS 2015,.NET 4.5.2和Web API 2中使用C# 我想建立一个宁静的网络服务。
我需要使用CURL或Fiddler来测试web服务(不是AJAX或Jquery)。
如果可能的话,我更喜欢CURL
我成功地使用CURL向Web服务发送GET请求。
但我还需要使用POST发送数据到Web服务
不幸的是我使用POST时遇到问题。
我不仅需要发送1个参数,还需要发送多个参数
(基本上我需要发送一个将添加到数据库的完整记录)
似乎无法向POST操作发送多个参数?
但是,我应该能够使用数组或List对象发送记录数据,而不是发送多个参数?
我应该如何在Web服务控制器中编写POST操作?
我应该如何使用CURL(或fiddler)发送数据,以便POST操作可以处理它?
我看到一些使用URI来POST数据的例子......但是使用URI似乎需要设置内容长度?
如果可能的话,我会避免设置内容长度
的型号:
该模型表示应使用POST发送的数据:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
的客户端:
客户端(CURL / fiddler)必须能够发送模型数据,例如:
ID = 5
名称=“测试”
类别=“硬件”
价格= 10
如何使用CURL(或fiddler)发送此数据?
控制器操作:
我该怎么编码这个动作?
这可以吗? :
[HttpPost]
public void AddProduct([FromBody] List<Product> data )
{
Do something
}
webervice网址
只是为了完整性:
我的网络服务URL如下所示
http://myServer/api/product
答案 0 :(得分:0)
添加此类内容。创建一个包装类,然后将其发送到POST。
game.player.number
而不是你可以做的是 - 创造一个类
[HttpPost]
public void AddProduct(List<Product> data )
{
Do something
}
然后使用
class Wrapper{
List<Product> data
}
这会奏效。如果不行,请告诉我。我会尽力为您提供解决方案。对我来说,这在我遇到问题时起作用。