私はちょうどWebApi
に入るようになっています。複数のバージョンを扱う1つのコントローラを持つことができれば、私が理解しようとしていることがあります。WebApiが単一のコントローラをバージョン管理する
ので代わりv2はv1の中で、コントローラのコピーを持っていますが、V2内のロジックが
v1とは異なっているv1
/v2
フォルダを持っていることの何がすべてのAPIのバージョンを処理する1つのコントローラを持つことができますか?
私は、コントローラ上の[APiVersion(...)]
属性への参照を見たが、私は私が考えたものを実装しようとすると、
例に呼び出される権利は何もありませんしている:私は参照として本answerを使用しますが
[ApiVersion("1.0")]
[ApiVersion("2.0")]
[Route("api/v{version:apiVersion}/login")]
public class LoginController : ApiController
{
[HttpGet]
[MapToApiVersion("1.0")]
[Route("login/{username}/{password}")]
[ResponseType(typeof(LoginResult))]
public LoginResult GetLoginInfo(string username, string password)
{
//v1 logic
}
[HttpGet]
[MapToApiVersion("2.0")]
[Route("login/{username}/{password}")]
[ResponseType(typeof(LoginResult))]
public LoginResult GetLoginInfo2(string username, string password)
{
//v2 logic
}
}
それ動作していないようです。これを解決するために行動を使用していますか?
理想的には、私はちょうどどこでもそれはアクション名を変更する代わりに呼び出されることにバージョン番号を変更できるようにしたいと思いますが、私はそれが可能かどう