使用Winform APP中的Simple Type参数方法调用WEB API方法

时间:2015-10-21 16:05:10

标签: asp.net-web-api httpcontent simpletype

我是Web 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 var并传递它,但我看不出怎么做。

或者,我应该将这些参数包装在一个对象中。无论哪种方式 - 我想知道如何做以备将来使用。

TIA,

蚂蚁

1 个答案:

答案 0 :(得分:1)

默认情况下,{A}}操作,Web Api框架将从请求的邮件正文中查找参数。如果您尝试从查询字符串传递参数,则需要使用POST属性。

[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 } api操作。这是将新项目数据发布到邮件正文。