如何通过URL访问带FromQuery参数的ASP.NET Core GET接口?
解决ASP.NET Core API 404访问问题的方案
1. 修正URL中的控制器名称拼写错误
你当前URL里的Mycontrooler是拼写错误,ASP.NET Core要求控制器类名必须以Controller结尾(比如类名为MyController),因此正确的URL应为:https://localhost:7444/v1/api/MyController/Getcontent?MyName=james&MySchool=TensSchool
2. 给控制器添加正确的路由前缀
你的API方法仅配置了[HttpGet("Getcontent")],但URL包含v1/api前缀,必须在控制器类上添加对应的路由属性,否则路由无法匹配:
[Route("v1/api/[controller]")] [ApiController] public class MyController : ControllerBase { [AllowAnonymous] [HttpGet("Getcontent")] public async Task<ActionResult> Getcontent([FromQuery] MyModel model) { return Ok(model); } }
[Route("v1/api/[controller]")]会自动将控制器名(去掉Controller后缀)填充到路由中,和方法级的Getcontent拼接成完整路由。
3. 确保MyModel属性与URL参数匹配
检查MyModel类是否包含与URL参数名完全一致的公共属性(默认大小写敏感):
public class MyModel { public string MyName { get; set; } public string MySchool { get; set; } }
属性名不匹配会导致参数绑定失败,但不会直接引发404,不过这是确保API正常工作的必要检查项。
4. 验证项目启动端口配置
确认项目启动时使用的端口确实是7444,可以查看项目根目录下的launchSettings.json文件,检查applicationUrl字段是否包含https://localhost:7444。
内容的提问来源于stack exchange,提问作者Illep
相关产品推荐
相关产品推荐

