1
私はこのチュートリアルの後にバージョン管理を実装しようとしています。だから私のスタートアップに私が持っている:ASP.NET WebApiのバージョンが動作しない
var constraintResolver = new DefaultInlineConstraintResolver()
{
ConstraintMap =
{
["apiVersion"] = typeof(ApiVersionRouteConstraint)
}
};
configuration.MapHttpAttributeRoutes(constraintResolver);
configuration.AddApiVersioning()
と私のコントローラ:私はhttp://localhost/api/v1.0/myのために要求すると
[Route("api/v{version:apiVersion}/my")]
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class MyV1Controller
[Route("api/v{version:apiVersion}/my")]
[ApiVersion("3.0")]
public class MyV3Controller
私はエラー
Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.\r\n\r\nThe request has found the following matching controller types: \r\nMyV1Controller\r\nMyV2Controller
あなたは、コントローラのバージョンを作成する方法をアドバイスしてもらえ取得します働く?
あなたの "V1"コントローラは複数のバージョンを持つことができますか? V1コントローラは1つのバージョンですか?なぜ2つの属性がありますか? –
これはあなたのURLにドットで問題がある可能性があります。 –
私のAPIはいくつかのコントローラで構成されています。他のコントローラーに影響を与えるバージョン2があったが、MyV1Controllerに変更はなかった。だから私は数を増やした。 – krzyszt0fd