Web APIを初めて使用しています。私は今サンプルアプリケーションを作成しており、同じものでルーティングを理解しようとしています。ここでWebAPI2のrouteTemplateの代わりにルート名を使用したアクセスルーティング
は私のシナリオです:
私は次のようにAuthorControllerと2つのアクションメソッドを持っています:ここで
public IHttpActionResult GetAuthor(int id){//logic}
public IHttpActionResult GetAuthorByName(string name){//logic}
デフォルトルートです:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
は今、私は第二の方法にアクセスしたいGetAuthorByNameのような別のルートを使用:
config.Routes.MapHttpRoute(
name: "routename",
routeTemplate: "api/RandomName/GetAuthorByName/{id}",
defaults: new { controller = "Authors", action = "GetAuthorByName", id = RouteParameter.Optional }
);
私はhttp://localhost:1234/api/RandomName/GetAuthorByName?Title=Kajalにアクセスすると、私のコントローラ&私はパラメータで渡すことができます私のコントローラを呼び出す必要がありますように。
これはWeb APIでも可能ですか?または、ルート名を使用して自分のアクションメソッドにアクセスするにはどうすればよいですか?
私はFirefoxのレストクライアントを使用してメソッドを呼び出すことに注意してください。