【发布时间】:2014-08-06 23:22:46
【问题描述】:
我的 WEB API 控制器具有以下结构:
public class MyController : ApiController
{
[System.Web.Http.HttpPost]
public bool Method1([FromBody] int id, [FromBody] string token, [FromBody] string deviceID, [FromBody] string username)
{
bool returnValue = false;
//do code business logic here
return returnValue;
}
[System.Web.Http.HttpPost]
public bool Method2([FromBody] int id, [FromBody] string token)
{
bool returnValue = false;
//do code business logic here
return returnValue;
}
}
当我尝试通过 HTTP 为 Method1 或 Method2 创建 RESTFUL Web API 时,我收到 500 内部服务器错误。
如果我从任何一种方法中删除输入参数,我就可以制作 Web API 而不会出错。
我已经通过 .NET 测试方法对控制器进行了单元测试,并且逻辑不会产生异常。
我添加了一个名为Get 的附加方法,没有任何参数,并且能够使用该服务而没有任何错误。
这是我尝试使用 jQuery 在 JavaScript 中使用 Web API 的代码 sn-p:
var uri = "http://127.0.0.1/MyWebApi/api/mycontroller/method2";
var myObject =
{
id: $('#id').val(),
token: $('#token').val()
};
$.post(uri, JSON.stringify(myObject)).done(function (data) {
$('#result').text(data);
})
.fail(function (jqXHR, textStatus, err) {
$('#result').text('Error: ' + err);
});
是什么导致我在初始 API 控制器结构上收到 500 内部服务器错误?
【问题讨论】:
标签: c# asp.net-mvc-4 asp.net-web-api2 restful-url