2017-08-28 6 views
0

私のコントローラ機能、 新しい文字列関数は

[AcceptVerbs("GET")] 
public string AgencyLogin(string username, string password) 
{ 
    string savedPassword = ""; 
    DataTable dt = new DataTable(); 
    AGENCYBL agencybl = new AGENCYBL(); 
    savedPassword = Common.generateSecurePasswordHash(password); 
    dt = agencybl.SelectAgencyLoginbyUname(username, savedPassword); 

    if (dt.Rows.Count != 0) 
    { 
     return "Logged In"; 
    } 
    else 
    { 
     return "Not Logged In"; 
    } 
} 

そして、私のルート、

config.Routes.MapHttpRoute(
     name: "DefaultApi", 
     routeTemplate: "api/{controller}/{id}", 
     defaults: new { id = RouteParameter.Optional } 
    ); 
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); 

ウェブAPIヘルプページにリストされない。しかし、この機能は、Web APIのヘルプページにリストアップされていない

+0

のようなURLを使用します。 [Route( "customers/{customerId}/orders")]のようになります。詳細はhttps://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2を参照してください。 –

+0

私は持っていますリストは表示されません –

+0

この属性[ルート( "your/route/to/api")]をアクションメソッドの上部に置きます。 –

答えて

0

あなたの行動は動詞ではないので、ASP.net MVCルートのような新しいルートを作る必要があります

config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{action}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

そして、私はあなたがルーティング属性を使用すべきだと思う

ControllerName/AgencyLogin?username=name&password=pass 
関連する問題