C# 不允许从Asp.Net核心Webapi返回405方法

C# 不允许从Asp.Net核心Webapi返回405方法,c#,asp.net-web-api,asp.net-core,C#,Asp.net Web Api,Asp.net Core,在下面的API控制器中,如果在API上调用POST或PUT,如何返回405方法Not allowed。目前它返回404未找到 [HttpGet] public ActionResult<IEnumerable<Customer>> Get() { string query = "select* from Customers;"; try {

在下面的API控制器中,如果在API上调用POST或PUT,如何返回405方法Not allowed。目前它返回404未找到

[HttpGet]        
        public ActionResult<IEnumerable<Customer>> Get()
        {
            string query = "select* from Customers;";
            try
            {
                List<Customer> collection = GetCustomers(query);
                return Ok(collection);
            }
            catch (System.Exception)
            {
                return BadRequest();
            }
        }
[HttpGet]
公共行动结果获取()
{
string query=“从客户中选择*”;
尝试
{
列表集合=获取客户(查询);
返回Ok(收款);
}
捕获(系统异常)
{
返回请求();
}
}

本线程将讨论此问题:

本帖将讨论此问题:

您有一个
[HttpGet]
属性。net core将自动执行405。如果您现在尝试使用Post或Put调用端点,会发生什么情况?我相信它给出了405返回404未找到哪里定义了
GetCustomers
?那么您的路线是错误的。i、 它实际上是一个404。如果您使用GET以外的任何东西来执行该实际操作,那么您将获得405。您有一个
[HttpGet]
属性。net core将自动执行405。如果您现在尝试使用Post或Put调用端点,会发生什么情况?我相信它给出了405返回404未找到哪里定义了
GetCustomers
?那么您的路线是错误的。i、 它实际上是一个404。如果你用的是除GET以外的任何东西,那么你会得到405。