从 Winform APP 中使用简单类型参数方法调用 WEB API 方法
Call WEB API method with Simple Type parameters Method from Winform APP
我是网络新手API所以请原谅一个愚蠢的问题
我有一个Web API 2方法......
[System.Web.Http.HttpPost]
public MyAPIController AddItemToBasket(Guid b, Guid l, Guid a,
Guid cid, int d, int p, int q)
{
..blah blah
}
我正在组装一个 Winform 测试应用程序。
我似乎无法将参数传递给方法。
我看到很多例子,其中 POST 方法有一个对象作为参数,这看起来很简单,但奇怪的是,传递简单类型似乎更让人头疼。
我似乎需要填充一个 HTTPContent 变量并传递它,但我不知道该怎么做。
或者,我是否应该将这些参数包装在一个对象中。无论哪种方式 - 我想知道如何执行此操作以供将来使用。
TIA,
蚂蚁
默认情况下,对于 POST
操作,Web Api 框架将从请求的消息正文中寻找参数。如果您尝试从查询字符串传递参数,则需要使用 [FromUri]
属性。
[HttpPost]
public IHttpActionResult AddItemToBasket([FromUri]Guid b, [FromUri]Guid l, [FromUri]Guid a,
[FromUri]Guid cid, [FromUri]int d, [FromUri]int p,
[FromUri]int q)
{
..blah blah
}
或者更好的做法是制作一个 NewItem
Object
并仅用该属性标记一次。
public class NewItem
{
public Guid b { get; set; }
public Guid l { get; set; }
public Guid a { get; set; }
public Guid cid { get; set; }
public int d { get; set; }
public int p { get; set; }
public int q { get; set; }
}
[HttpPost]
public IHttpActionResult AddItemToBasket([FromUri]NewItem item)
{
..blah blah
}
不过,我强烈建议您顺其自然,按照预期的方式使用 POST
api 操作。即post消息正文中的新项目数据。
我是网络新手API所以请原谅一个愚蠢的问题
我有一个Web API 2方法......
[System.Web.Http.HttpPost]
public MyAPIController AddItemToBasket(Guid b, Guid l, Guid a,
Guid cid, int d, int p, int q)
{
..blah blah
}
我正在组装一个 Winform 测试应用程序。
我似乎无法将参数传递给方法。 我看到很多例子,其中 POST 方法有一个对象作为参数,这看起来很简单,但奇怪的是,传递简单类型似乎更让人头疼。
我似乎需要填充一个 HTTPContent 变量并传递它,但我不知道该怎么做。
或者,我是否应该将这些参数包装在一个对象中。无论哪种方式 - 我想知道如何执行此操作以供将来使用。
TIA,
蚂蚁
默认情况下,对于 POST
操作,Web Api 框架将从请求的消息正文中寻找参数。如果您尝试从查询字符串传递参数,则需要使用 [FromUri]
属性。
[HttpPost]
public IHttpActionResult AddItemToBasket([FromUri]Guid b, [FromUri]Guid l, [FromUri]Guid a,
[FromUri]Guid cid, [FromUri]int d, [FromUri]int p,
[FromUri]int q)
{
..blah blah
}
或者更好的做法是制作一个 NewItem
Object
并仅用该属性标记一次。
public class NewItem
{
public Guid b { get; set; }
public Guid l { get; set; }
public Guid a { get; set; }
public Guid cid { get; set; }
public int d { get; set; }
public int p { get; set; }
public int q { get; set; }
}
[HttpPost]
public IHttpActionResult AddItemToBasket([FromUri]NewItem item)
{
..blah blah
}
不过,我强烈建议您顺其自然,按照预期的方式使用 POST
api 操作。即post消息正文中的新项目数据。