0
我試圖從我的Angular 2服務調用我的.net API控制器,但是我一直在404中找不到它。我可以在瀏覽器中瀏覽api函數並返回數據(即:http://localhost:51849/api/Application/Get)。任何線索我要去哪裏錯了?我在AngularJS 1中完成了類似的工作,沒有任何問題。任何幫助表示讚賞。謝謝!Angular 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