【发布时间】:2023-03-10 03:36:01
【问题描述】:
我在这个项目中使用 angular 1。并遇到 405(不允许的方法)错误:
我的 Api 如下所示:
[HttpPut]
[Authorize]
[Route("api/License/Update")]
public bool Update(LicenseViewModel licenseViewModel)
{
}
这是用 licenseViewModel 的模型更新数据库 但我的路由去了:http://localhost/IRIS.Api6/api/License/Update?id=69499 这给了我错误。 405(不允许的方法)
在我的服务中,我有
angular.module('portal.core.resources.license')
.factory('License', ['$resource', 'authSettings', function ($resource,
authSettings) {
'use strict';
var License = $resource(
authSettings.apiServiceBaseUri + 'api/License/:id',
{
id: '@licenseSeq'
},
{
update:
{
method: 'PUT',
url: authSettings.apiServiceBaseUri + 'api/License/Update/'
},
licenseTypes: {
method: 'GET',
url: authSettings.apiServiceBaseUri + 'api/License/types',
isArray: true
},
licenseStatuses: {
method: 'GET',
url: authSettings.apiServiceBaseUri + 'api/License/statuses',
isArray: true
},
funeralServicesAdminFees: {
method: 'GET',
url: authSettings.apiServiceBaseUri + 'api/License/:id/FuneralServiceAdminFees',
isArray: true
}
}
);
....
我做错了什么?谢谢。
【问题讨论】:
-
你注意到你的更新方法参数和你传递的参数了吗?
-
它应该以 licenseViewModel 的形式提供数据,而不是错误地提供了:params: id:69130,导致 angula XHR 加载失败:PUT "localhost/IRIS.Api6/api/License/Update?id=69130"。
-
谢谢,Sumit raj,我注意到数据是从 API 作为 licenseViewModel 获取的,在修改电话号码后,它旨在提供回更新 api 以更新数据库条目。但是,由于错误,它从未到达 api。