私はこのようなコントローラーを持っています
[HttpGet]
[ActionName("Ping")]
public bool Ping() { return true; }
[HttpPost]
[ActionName("Test")]
public string Test([FromBody] Testing form)
{
return form.Email + " " + form.Password;
}
ヘルプページを実行すると、次のように表示されます。
GET API/テスト
POST API/テスト
ルーティングはテンプレートに付属するデフォルトのものであるため、注釈「ActionName」を配置した後でも正しい名前が選択されない理由がわかりません。
どんな助けでも本当に感謝します。
================================================== ===============
ANSWER: David L. が示唆したように、問題はルーティングでした。彼が提案したリンクを読み、「ACTION」を含む新しいルーティング API を追加したところ、次のようになりました。
config.Routes.MapHttpRoute(
name: "TestApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
これにより、適切なアノテーション名を使用して適切な API が表示されるようになりました。