2017-06-15 19 views
0

私は校正する必要があります。 私は.net mvc appを持っており、Microsoft/aspnet-api-versioning(ASP.NET Core用)を使用しています。私はOneControllerでリリースAPIの後に追加aspnet-api-versioning - 後方互換性

[ApiVersion("1.0")] 
[Route("[controller]")] 
public class OneController : Controller 
{ 

    [HttpGet] 
    public string Get() 
    { 
     return "Hello. I'm OneController"; 
    } 
} 

[ApiVersion("1.1")] 
[Route("[controller]")] 
public class TwoController : Controller 
{ 

    [HttpGet] 

    public string Get() 
    { 
     return "Hello. I'm TwoController"; 
    } 
} 

TwoController: そして、私は2つのコントローラを持っています。 そして、私はhttp://localhost:59719/One?api-version=1.1を使用しようと、今、私はエラーが表示されます。

The HTTP resource that matches the request URI ' http://localhost:59719/test?api-version=1.1 ' does not support the API version '1.1'.

は、私は別のコントローラの異なるバージョンを使用すべきか、すべての要求に対して1つの(最新)バージョンを使用する方法はありますか?

私はすべてのコントローラに[ApiVersion( "1.1")]を追加することができます理解し、私は20台のコントローラ...助けを

感謝を持っている場合。

答えて

4

あなたが何も指定されていない場合ApiVersioningOptionsクラスを使用して、デフォルトのAPIのバージョンを定義し、このデフォルトのバージョンを使用することができます。

`services.AddApiVersioning(o => 
{ 
    o.AssumeDefaultVersionWhenUnspecified = true; 
    o.DefaultApiVersion = new ApiVersion(1 , 0); 
});` 

以外にも、あなたがASP.NETでAPIのバージョンでこの優れた記事を見てみる必要がありますScott Hanselman: https://www.hanselman.com/blog/ASPNETCoreRESTfulWebAPIVersioningMadeEasy.aspx