API 从 .Net Framework 升级到 .Net 6.0 在 Postman 中抛出 404 错误

问题描述 投票:0回答:1

我有以下代码,在 .Net Framework 中运行良好,但升级后抛出 404 错误。这基本上是我的代码:

[RoutePrefix("API")]
[BasicAuthenticationFilter]
public class APIController : ApiController
{
    [Route("Contact/New")]
    [HttpPost]
    public HttpResponseMessage NewContact(ContactAPIRequest request)
    {
        
    }

    [Route("Contact/Types")]
    [HttpGet]
    public HttpResponseMessage GetContactTypes()
    {
        
    }
}

我将其部署在网站 mangofruit.com(虚拟名称)上,并使用 https://mangofruit.com/API/Contact/New 以及所需的身份验证在 Postman 中进行测试,但我收到 404 错误。我也无法使用 Visual Studio 2022 访问它。

另外 https://mangofruit.com/API/Contact/Types 会抛出错误 404。 我是不是错过了什么?

asp.net-core http-status-code-404 asp.net-core-6.0 asp.net-web-api-routing
1个回答
0
投票

在 asp.net core 6 中,Web API 中的控制器是派生自 ControllerBase 的类。

Web API 项目模板如下:

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase

您可以尝试以下代码:

   [ApiController]   
   [Route("[controller]")]   
    //[BasicAuthenticationFilter]
    public class APIController : ControllerBase
    {
        [Route("Contact/New")]
        [HttpPost]
        public HttpResponseMessage NewContact()
        {
           ...
        }

        [Route("Contact/Types")]
        [HttpGet]
        public HttpResponseMessage GetContactTypes()
        {
          ...//do your staff
           HttpResponseMessage response = null;// for test
           return response;
        }
    }

结果:

© www.soinside.com 2019 - 2024. All rights reserved.