テストフィドラーで以下のメソッドは、200 ためのAPI /テストが、私はとMVCのルートの新しいオプションがあります見API /テスト大文字と小文字を区別しないルート2
のための301を返しています小文字を強制しますが、Web APIルートには何も見つかりません。
[HttpGet]
[Route("test")]
public IHttpActionResult Testing()
{
return Ok();
}
テストフィドラーで以下のメソッドは、200 ためのAPI /テストが、私はとMVCのルートの新しいオプションがあります見API /テスト大文字と小文字を区別しないルート2
のための301を返しています小文字を強制しますが、Web APIルートには何も見つかりません。
[HttpGet]
[Route("test")]
public IHttpActionResult Testing()
{
return Ok();
}
デフォルトでは、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
私の例と同じ結果 – user3953989
WebApiConfigをカスタマイズしましたか? –
しました。メソッドの呼び出しが正常に動作しますが、すべて小文字 – user3953989
参照してください:http://stackoverflow.com/a/36748072/47589あなたがこれを行うべきではない理由のために。 – Amy
@Amyそれは私が達成しようとしていることをSOが実行していると述べています。 – user3953989
は、詳細な回答のためには[こちら](http://stackoverflow.com/questions/21001455/should-a-rest-api-be-case-sensitive-or-non-case-sensitive)を見てみましょう。 –