gpt4 book ai didi

javascript - 带参数的 WebApi 404 - 通过 javascript GET 调用

转载 作者:行者123 更新时间:2023-12-02 15:22:59 24 4
gpt4 key购买 nike

LocationsController 中的 WebApi 方法:

public async Task<IHttpActionResult> GetLocations(int id, long start, long end)
{
return Ok();
}

我尝试调用的电话 (GET):

https://api.com/Locations/GetLocations/34934/1/1
https://api.com/Locations/GetLocations?34934&start=1&end=1

因此:

factHttp.httpRequest('/locations/GetLocations', 'GET', vm.ID + '/' + start.getTime() + '/' + now.getTime()).then(function (_result) {
vm.plots = angular.fromJson(_result.data);
});

var _httpRequest = function requestCall(requestPartURL, requestType, requestPayload) {

var _resultHttp = $http({
url: apiURL + requestPartURL,
method: requestType,
data: requestPayload,
headers: {
'Authorization': 'Bearer ' + localStorage.getItem('ACCESS_TOKEN')
}
}).success(function (response) {
console.log("HTTP CALL SUCCESS");
return {
result: 'SUCCESS',
resultObj: response,
errorCode: '',
errorDesc: ''
}

}).error(function (response) {
console.log("HTTP CALL FAIL");
console.log(response);

return getErrorObj(response);
});

return _resultHttp;

}

路由:

config.Routes.MapHttpRoute(
"IdentWithRange",
"{controller}/{action}/{id}/{start}/{end}"
);

如果我将 Web api 方法更改为仅采用 (int id) 并调用 GetLocation/34934,它就可以正常工作。我在这里做错了什么?

我不断收到 404 错误。其中一些内容不是我自己写的(即 JS 的东西,因为我不擅长),但对我来说这是第一次使用任何类型的 api,我控制两端,我有点卡住了。 p>

最佳答案

您创建的路由记录将寻找以下路由

/api/controller/id/start/end

但是您正在尝试传递参数,而不是指定路线。

您不需要特殊的路由记录来处理多个参数。使用“标准”路由记录就足够了。

config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new 
{
id = RouteParameter.Optional, action = "DefaultAction"
});

关于javascript - 带参数的 WebApi 404 - 通过 javascript GET 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33891107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com