2016-10-25 7 views
0

テストフィドラーで以下のメソッドは、200 ためのAPI /テストが、私はとMVCのルートの新しいオプションがあります見API /テスト大文字と小文字を区別しないルート2

のための301を返しています小文字を強制しますが、Web APIルートには何も見つかりません。

[HttpGet] 
[Route("test")] 
public IHttpActionResult Testing() 
{ 
    return Ok(); 
} 
+0

参照してください:http://stackoverflow.com/a/36748072/47589あなたがこれを行うべきではない理由のために。 – Amy

+0

@Amyそれは私が達成しようとしていることをSOが実行していると述べています。 – user3953989

+0

は、詳細な回答のためには[こちら](http://stackoverflow.com/questions/21001455/should-a-rest-api-be-case-sensitive-or-non-case-sensitive)を見てみましょう。 –

答えて

-1

デフォルトでは、Web APIはコントローラメソッド名の先頭で大文字と小文字を区別しない一致を探します。

このため、あなたのルートを変更してください:

[RoutePrefix("api/test")] 
public class TestController : ApiController 

[HttpGet] 
[Route("testing")] 
public IHttpActionResult Testing() 
{ 
    return Ok(); 
} 

あなたWebApiConfig.csクラスは、デフォルト設定である必要があります

WEBAPI 2.0表情で、このページのルーティングに関する詳細情報については
public static void Register(HttpConfiguration config) 
    { 
     // Web API configuration and services 

     // Web API routes 
     config.MapHttpAttributeRoutes(); 

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

https://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

+0

私の例と同じ結果 – user3953989

+0

WebApiConfigをカスタマイズしましたか? –

+0

しました。メソッドの呼び出しが正常に動作しますが、すべて小文字 – user3953989

関連する問題