我试图使用fiddler
将多个参数发布到webapi我的webapi中的电话是
[HttpPost]
public object Post(string portfolioAPIKey, DateTime? lastCreativeUTC)
{
......
}
在我的webapiconfig中
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
在小提琴手中,我打电话给api http://xxxy.com/api/controller/Post使用以下内容
User-Agent: Fiddler
Host: xx.com
Content-Type: application/json
当我尝试通过在请求正文中传递以下json来尝试访问它时,
{"portfolioAPIKey":"6B026A0F-F270-4DBF-B84F-CE41F30099A6","lastCreativeUTC":"2014-12-19T12:17:17.8672363Z"}
我收到500内部服务器错误。有什么想法吗?
答案 0 :(得分:0)
使用以下签名创建一个类MyDto
:
public class MyDto {
public string PortfolioAPIKey {get;set;}
public DateTime? LastCreativeUTC {get;set;}
}
修改你的Post方法签名:
[HttpPost]
public object Post(MyDto dto)
{
......
}
更新
您不应该致电/Post
,但是您应该在fiddler中向POST
发出http://xxxy.com/api/<controller>
请求,而<controller>
是控制器的名称,而不是控制字。因此,如果您的控制器为MyController
,则正确的网址为http://xxxy.com/api/my