2016-05-13 14 views
-1

以前のプロジェクトでは、認証なしでxmlレポート生成にWeb APIを使用していました(匿名で)。彼らは次のように使用して、通常のasp.net MVC controllerandを介して処理されているすべてのもの "localhostが/ Abcの/ WEBAPI /コントローラ/エクスポートが_ASP.Net MVCでURL経由でWebApi Controllerを使用する方法

ローカルホスト・サーバー、

ABC-プロジェクトフォルダ、

パラメータWEBAPI-フォルダ、

コントローラ - コントローラ名、

輸出 - 方法

012。

上記は、URLを使用してxmlレポートにアクセスするための詳細です。しかし、彼らはApicontrollerを使いました。

以下のように、URLにこのWEBAPIコントローラにアクセスする方法

public virtual HttpResponseMessage ManExport(string ABC, string product, string Release, bool includeInheritedData = false) 
{ 

} 

?普通のコントローラーのように?

+0

Apiのルートマップは何ですか? –

答えて

0

既にWebApiコントローラ用にAppstart/WebApiConfig.csに定義されており、以下のように使用されています。

 config.Routes.MapHttpRoute("DefaultApiWithId", "Api/{controller}/{id}", new { id = RouteParameter.Optional }, new { id = @"\d+" }); 
     config.Routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}"); 
     config.Routes.MapHttpRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }); 
     config.Routes.MapHttpRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Post) }); 
1

ウェブAPIメソッドのルートパスと名前を定義できます。そのルートを使用するとAPIコントローラアクションにアクセスできます(単純な場合)。コールを受けて匿名アクセスが可能です。例えば

これをあなたのAPIコントローラのメソッドを仮定します

[HttpGet,AllowAnonymous][Route("api/register")] 
public void Register() 
    { 

    } 

あなたが好きなURLでアクセスすることができますbrowser.Thisから登録/ localhostの/ APIはに簡単な例であります物を簡単に説明する。

+0

これはlocalhost/Api/controllername/ManExportにアクセスして作業しました。 お返事ありがとうございます。 –

関連する問題