Я пытаюсь позвонить своему контроллеру API .net из моей службы Angular 2, но я все равно получаю 404, что он не найден. Я могу перейти к функции api в браузере и вернуть данные просто отлично (например: http://localhost:51849/api/Application/Get). Любая подсказка, где я ошибаюсь? Я сделал аналогичную работу в AngularJS 1, как это, без проблем. Любая помощь приветствуется. Благодаря!Угловой 2 Вызывающий .Net-контроллер из того же проекта
Угловое вызов 2 службы:
getApplications(): Promise<Application[]> {
return this.http.get('/api/Application/Get/')
.toPromise()
.then(response => response.json().data as Application[])
.catch(this.handleError);
}
В .NET функции управления API:
public class ApplicationController : ApiController
{
public HttpResponseMessage Get()
{
var applicationsModel = new ApplicationsModel();
try
{
var applications = new ApplicationService().GetAllApplications();
foreach (var application in applications)
{
applicationsModel.Applications.Add(new Application(application.MWF_ApplicationID, (int)application.MWF_Priority, application.MWF_DateCreated.ToString("MM/dd/yyyy"), "", "", 0, 0));
}
}
catch(Exception e)
{
applicationsModel.Error = "Error getting applications: " + e.Message;
}
return this.Request.CreateResponse(HttpStatusCode.OK, applicationsModel);
}
}
Я пробовал оба пути, но все еще получаю 404 при вызове его. – Nick
Вы пытались добавить атрибут [HttpGet] к методу? На этом этапе наплевать. – silentsod
Да, я пробовал его с помощью метода [HttpGet], но все же безрезультатно. Я не уверен, что мне не хватает. Тем более, что я могу связаться с ним и получить данные, напрямую поместив http: // localhost/api/Application/Get url в браузер. – Nick