1

WebApiConfig.csに次のコードがあります

   config.Routes.MapHttpRoute(
        name: "Action",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new { id = RouteParameter.Optional }
   );

ABCController.cs

 public class ABCController : ApiController
 {        
     [AcceptVerbs("GET")]
     [ActionName("GetABCByXYZById")]
     public string GetABCByXYZById(int xYZId)
     {                
         return "GetABCByXYZById";
     }
 }

APIを呼び出そうとすると、コントローラーでアクションが見つからないと表示されます。

 /api/ABC/GetABCByXYZById/12
4

1 に答える 1

4

これは、routeTemplateが{id}actionパラメーターの名前を使用しているのに、アクションが実際にはnameのパラメーターを取り込んでいるためxYZIdです。

アクションパラメータを呼び出し済みに変更してみてください。id機能するはずです。
public string GetABCByXYZById(int id)

于 2013-01-17T20:06:03.077 に答える