[英]How to pass a IList<MyObject> as parameter for a POST method in Web API?
[英]How to pass an object of type as a parameter to Web Api Get/Post method
这是我的Post方法,我正在传递包含参数的对象
public class TransactionController : ApiController
{
[HttpPost]
public TransactionResponse mytest2(TransactionOperationInput input)
{
// some operation here
}
}
这是我要测试的网址
http://localhost:33755/api/Transaction/mytest2?SourceKey=abcdef&Pin=123&Criteria=2018-09-12 00:00:00
方法设置为POST和Get时的结果
[HttpPost]:我收到不允许的错误405方法。
[HttpGet]:输入参数为NULL
这是注册路由类; (对不起,我是Route表的新手)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我需要更新路由表吗? 或我的URL错误吗?
另外,我应该将服务方法设为“邮寄”还是“获取”?
您无法导航到[HttpPost]
方法,因此它必须是[HttpGet]
。 要从查询字符串值绑定到复杂对象,您需要使用[FromUri]
属性
[HttpGet] // can be omitted
public TransactionResponse mytest2([FromUri]TransactionOperationInput input)
有关web-api中的参数绑定的更多信息,请参阅ASP.NET Web API中的参数绑定 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.