我有以下代码,在 .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 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;
}
}