私のAngular 2サービスから.net APIコントローラを呼び出そうとしていますが、私は404を取得し続けています。ブラウザのAPI関数を参照して、データを返すことができます(つまり、http://localhost:51849/api/Application/Get)。私が間違っているのか何か手がかりは? AngularJS 1でこれと同様の作業をしましたが、問題はありません。どんな助けもありがとうございます。ありがとう!Angular 2 Calling。同じプロジェクトの.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コントローラ機能: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