当前位置: 首页 > news >正文

【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧

🌹欢迎来到《小5讲堂》🌹
🌹这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹

在这里插入图片描述

目录

  • 前言
  • 低级错误
      • 可能的问题原因:
      • 解决方案:
  • 推荐文章

前言

AI出来给我最大的感受就是快,找解决方案快了,找代码快了,找具体问题快了。
当然也给我们开发人员一个警示,要更加严格要求自己,不断提升自我。

低级错误

加多了一个s,实际上对于Mvc规则是不认得,所以就认为没有这个控制器存在。
在这里插入图片描述

根据你提供的信息,你的ASP.NET Core 6.0应用程序无法访问控制器方法并返回404错误。以下是可能的原因和解决方案:

可能的问题原因:

  1. 控制器未正确注册:你的Program.cs中没有明确添加控制器(虽然你有MapControllers,但可能缺少某些配置)

  2. 路由配置问题:你的控制器使用了[Route("api/[controller]/[action]")],但可能与终结点配置不匹配

  3. 控制器命名问题:你的控制器类名是ImgQueryControllers(复数+s),这可能导致路由不匹配

解决方案:

  1. 确保正确添加控制器服务
    在Program.cs中,确保有以下代码:

    services.AddControllers();
    
  2. 检查控制器类名
    将控制器类名改为ImgQueryController(去掉末尾的"s"),这是更标准的命名方式:

    [ApiController]
    [Route("api/[controller]/[action]")]
    public class ImgQueryController : ControllerBase
    
  3. 确保控制器在正确的位置
    确认你的控制器位于项目根目录或Controllers文件夹中

  4. 完整的Program.cs修改建议

    var builder = WebApplication.CreateBuilder(args);// 添加控制器服务
    builder.Services.AddControllers().AddNewtonsoftJson(option =>{option.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";});// 其他服务配置...var app = builder.Build();// 使用中间件
    app.UseMiddleware<GlobalExceptionHandler>();
    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {endpoints.MapControllers();
    });app.Run();
    
  5. 测试路由
    尝试访问以下URL(假设你的控制器有名为Get的方法):

    http://localhost:port/api/imgquery/get
    
  6. 检查Swagger/OpenAPI
    如果你有Swagger配置,检查它是否能发现你的控制器:

    // 添加Swagger服务
    builder.Services.AddEndpointsApiExplorer();
    builder.Services.AddSwaggerGen();// 在app.Build()后添加
    app.UseSwagger();
    app.UseSwaggerUI();
    
  7. 检查项目文件
    确保你的.csproj文件包含必要的NuGet包:

    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.0" />
    

如果问题仍然存在,请检查:

  • 控制器方法是否为public
  • 是否使用了正确的HTTP动词属性([HttpGet], [HttpPost]等)
  • 应用程序日志以获取更多错误信息

推荐文章

【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧
【C#】Html转Pdf,Spire和iTextSharp结合,.net framework 4.8

【C#】事务(进程 ID 64)与另一个进程被死锁在锁资源上,并且已被选作死锁牺牲品。请重新运行该事务。不能在具有唯一索引“XXX_Index”的对象“dbo.Test”中插入重复键的行。

【C#】使用DeepSeek帮助评估数据库性能问题,C# 使用定时任务,每隔一分钟移除一次表,再重新创建表,和往新创建的表追加5万多条记录

【C#】合理使用DeepSeek相关AI应用为我们提供强有力的开发工具,在.net core 6.0框架下使用JsonNode动态解析json字符串,如何正确使用单问号和双问号做好空值处理

【C#】已经实体类和动态实体类的反射使用方法,两分钟回顾,码上就懂

【C#】使用vue3的axios发起get和post请求.net framework部署的API显示跨域

【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel读取数据以及保存数据

【C#】pdf按页分割文件,以及分页合并,效果还不错,你值得拥有

【C#】未能加载文件或程序集“CefSharp.Core.Runtime.dll”或它的某一个依赖项。找不到指定的模块。

【C#】.net core 6.0 在program时间格式统一json格式化,并列举program默认写法和简化写法

【C#】.net core 6.0 ApiController,API控制器方法,API接口以实体类作为接收参数应该注意的点

【C#】 SortedDictionary,查找字典中是否存在给定的关键字

【C#】.net core 6.0 MVC返回JsonResult显示API接口返回值不可被JSON反序列化

【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件详细说明

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇

相关文章:

  • 【网络原理】从零开始深入理解HTTP的报文格式(一)
  • 缓存分片哈希 vs 一致性哈希:优缺点、区别对比及适用场景(图示版)
  • 【论文阅读】Partial Retraining Substitute Model for Query-Limited Black-Box Attacks
  • 【工具】Elasticsearch:强大的开源搜索与分析引擎
  • 区块链最佳框架:Truffle vs Hardhat vs Brownie
  • 技术赋能与模式重构:开源AI大模型驱动下的“一盘货”渠道革命——基于美的案例与S2B2C生态融合的实证研究
  • 一文简单记录打通K8s+Kibana流程如何启动(Windows下的Docker版本)
  • 第十六届蓝桥杯 2025 C/C++组 破解信息
  • 【运维】使用 DataX 实现 MySQL 到 PostgreSQL 的数据同步
  • SQL命令一:SQL 基础操作与建表约束
  • 从车道检测项目入门open cv
  • 长短期记忆网络(LSTM)
  • 内核spi驱动流程图
  • 特征工程四-2:使用GridSearchCV 进行超参数网格搜索(Hyperparameter Tuning)的用途
  • HarmonyOS NEXT 诗词元服务项目开发上架全流程实战(一、项目介绍及实现效果)
  • [OS_9] C 标准库和实现 | musl libc | offset
  • 打印及判断回文数组、打印N阶数组、蛇形矩阵
  • 高炉项目中DeviceNET到Ethernet的转换奥秘
  • 基于STM32、HAL库的DS2401P安全验证及加密芯片驱动程序设计
  • mysql community 8.0.23升级到8.0.42再到8.4.5
  • 俄外长:俄将在不损害伙伴关系前提下发展对美关系
  • 向总书记汇报具身智能发展的“稚辉君”:从期待到兴奋再到备受鼓舞
  • 浙商银行外部监事高强无法履职:已被查,曾任建行浙江省分行行长
  • 北大深圳研究生院成立科学智能学院:培养交叉复合型人才
  • 今年一季度全国城镇新增就业308万人,就业形势保持总体稳定
  • 神舟十九号载人飞船因东风着陆场气象原因推迟返回