我正在开发ASP.NET WebApi / AngularJS项目。现在我想显示一张桌子。去' / api / Auftraege'显示Json数据。但是' / api / Auftaege / index'带来这个错误:
{"Message":"The request is invalid.","MessageDetail":"The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Threading.Tasks.Task`1[System.Web.Http.IHttpActionResult] GetKDAuftraege(Int32)' in 'Vis3.Controllers.AuftraegeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter."}
所以我试图改变' id'在.edmx图表中,&nullable = true',因为有零的条目。这不起作用。
知道我能做什么吗?我是否遗漏了数据库以外的其他内容?也许是app.js中的文件路径?
以防万一...
app.js:
function ListCtrl($scope, $http) {
$scope.data = [];
$http.get("/api/Auftraege/GetKDAuftraeges")
.then(function (result) {
// Success
angular.copy(result.data, $scope.data);
},
function () {
// Error
alert("Error");
});
}
的WebAPI-控制器:
// GET api/Auftraege
[HttpGet]
public IEnumerable<KDAuftraege> GetKDAuftraeges()
{
var result = db.KDAuftraeges.Take(50).ToList();
return result;
}
Index.cshtml中的ng-repeat(如果我运行Index.cshtml,则弹出名为ListCtrl的角度控制器的错误警告):
<tr ng-repeat="i in data">
<td>{{i.AngebotsNummer}}</td>
<td>{{i.VerkaeuferName}}</td>
<td>{{i.Bezeichnung}}</td>
</tr>
答案 0 :(得分:1)
如果这是Web Api REST服务,则您不需要或不必包含方法的名称。您只能在没有控制字的情况下引用Controller类,如下所示:
$http.get("/api/Auftraege").then(function(){});