両方のルートに同じ名前が付けられています。これは ASP.NET Core MVC では機能しません。
メソッドの命名についてではなく、ルートの命名について話しているのです。同じ識別子 Name = "delete"
で両方のルートを呼び出しました HttpPost
の中 属性。 MVC のルート名は、ルート テンプレートを一意に識別します。
私が見る限り、実際にはルートを識別する必要はなく、異なる URI を区別するためだけに必要です。このため、Name
は自由に削除できます。 HttpPost
のプロパティ アクションメソッドの属性。これは、ASP.NET Core ルーターがアクション メソッドと一致するのに十分なはずです。
代わりに、属性ルーティングのみを使用して元に戻す場合は、コントローラーを次のように変更することをお勧めします:
// other code omitted for clarity
[Route("aim/v1/contacts/")]
public class aimContactsController : Controller
{
[HttpPost("delete/{id}")]
public IActionResult delete(string id)
{
// omitted ...
}
}