C# Web 服务如何将多个参数发送到 POST 操作
本文关键字:参数 操作 POST 服务 Web | 更新日期: 2023-09-27 17:57:02
我将C#与VS 2015,.NET 4.5.2和Web API 2
一起使用我想建立一个安静的网络服务。
我需要使用 CURL 或 Fiddler 来测试 Web 服务(而不是 AJAX 或 Jquery)。
如果可能的话,我更喜欢 CURL。
我成功地使用 CURL 将 GET 请求发送到网络服务。
但我还需要使用 POST
将数据发送到网络服务
不幸的是,我在使用开机自检时遇到问题。
我不仅需要发送 1 个参数,还需要发送多个参数。
(基本上我需要发送一条将添加到数据库中的整条记录)
似乎无法向 POST 操作发送多个参数?
但是,我应该能够使用数组或List对象发送记录数据,而不是发送多个参数?
我应该如何在 Web 服务控制器中对 POST 操作进行编码?
我应该如何使用 CURL(或小提琴手)发送数据,以便 POST 操作可以处理它?
我看到一些使用 URI 发布数据的示例......但是使用 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/提琴手)必须能够发送模型数据,例如:
id=5
名称="测试"
类别="硬件"
价格=10
如何使用 CURL(或小提琴手)发送此数据?
控制器操作:
我应该如何编写此操作?
谁可以吗?:
[HttpPost]
public void AddProduct([FromBody] List<Product> data )
{
Do something
}
韦伯维采网址
只是为了完整起见:
我的网络服务 URL 如下所示
http://myServer/api/product
用于添加这种东西.创建一个包装类,然后将其发送到 POST。
[HttpPost]
public void AddProduct(List<Product> data )
{
Do something
}
取而代之的是 - 做一个类
class Wrapper{
List<Product> data
}
,然后使用
[HttpPost]
public void AddProduct(Wrapper data )
{
Do something
}
这将工作.如果不起作用,请告诉我.我会尽力为您提供解决方案.对我来说,当我遇到问题时,这有效.