複数の GET アクションを持つ ApiController があります。問題は、名前の先頭に「Get」を付けずにアクションに名前を付けたくないことです。
たとえば、「GetImage」という名前のアクションを作成すると、問題なく動作します。「UpdateImage」という名前を付けると、アクション名の先頭に明示的な「Get」が必要になるため、アクションは呼び出されません。
使用したいアクションごとに異なるルートを定義することで解決できますが、それを達成するためのより簡単な方法があるはずです。
[HttpGet] 属性も試しましたが、残念ながらうまくいきませんでした。
私のルート設定:
routes.MapHttpRoute(
name: "ImagesApi",
routeTemplate: "api/images/{action}/{id}",
defaults: new { controller = "ImageStorageManager",id = RouteParameter.Optional }
);
api/images/GetImage
またはでアクセスしていますapi/images/UpdateImage