2016-11-30 3 views
0

Я предрек функцию на моем контроллере API:Не удается найти метод WebAPI

[HttpGet, Authorize] 
public List<UIPhotoModel> GetPhotosByAlbumID(int AlbumID) 
{ 
    .... 
} 

я называю это из моего JavaScript:

var urinocat = '/api/Photo/GetPhotosByAlbumID'; 
    $.get({ url: urinocat, contentType: "application/json" }, 0) 
     .done(function (data) { 
      vm.UncategorisedImages(data); 
     }); 

И получите:

GET http://localhost:54065/api/Photo/GetPhotosByAlbumID 404 (Not Found) 

Единственный способ, которым я знаю, как это исправить, - создать класс с int в нем и передать принять его в моем методе контроллера. Почему метод API не найден?

Все остальные работают с использованием сложного объекта и передают его в контроллер. Но int - это терпит неудачу.

+0

попробуйте отправить его в виде строки '«0»'?. В документации говорится, что данные должны быть «простым объектом или строкой, которая отправляется на сервер с запросом». https://api.jquery.com/jquery.get/. Кроме того, поскольку у вас есть '(int AlbumID)' на сервере, он будет разбираться в 'int' .. – gkb

+0

вы говорите о .net web api? Если вы используете маршрутизацию по умолчанию, тогда я думаю, что вы хотите GetPhotosByAlbumID (int id), и ваш url будет '/ api/Photo /' + yourid; –

ответ

Смежные вопросы