我的 ASP.NET WebApi 应用程序中有以下控制器:
[Route("api/PutItem/")]
[HttpPut]
public IHttpActionResult PutItem(Guid id, Item item)
{
if (!ModelState.IsValid)
}
我的“Items”AngularJs 服务中有以下内容
var doEditItem = function(item){
var deferred = $q.defer();
console.log('item', item);
var config = {
headers: { 'Authorization': "Bearer " + $rootScope.token }
//,params: {id:item.ItemId}
}
$http.put(sitesettings.url() + "api/PutItem/", item, config)
.success(function(data){
deferred.resolve(data);
})....
我最终收到了这条消息:
未找到与请求 URI 匹配的 HTTP 资源
'http://localhost:63289/api/PutItem/ http://localhost:63289/api/PutItem/'.", MessageDetail: "没有采取任何行动
在与请求匹配的控制器“Items”上找到。”}
我对参数进行了更改以添加如下项目:
jItem = {id:item.ItemId, item:item}
然后我尝试将 jItem 传递到 put 方法,如下所示:
$http.put(sitesettings.url() + "api/PutItem/", jItem, config)
我的应用程序获取了 Guid,但没有获取新的 Item。如果我删除 Guid 并发送该项目,我的应用程序将拾取新项目。
我想知道我需要如何更改我的应用程序,以便我可以发送 Guid 并且应用程序也可以获取新项目。
我用过 Angular.toJson(item, false);但这似乎并没有改变我的 ASP.NET 应用程序接收信息的方式。
非常感谢