🌹歡迎來到《小5講堂》🌹
🌹這是《C#》系列文章,每篇文章將以博主理解的角度展開講解。🌹
🌹溫馨提示:博主能力有限,理解水平有限,若有不對之處望指正!🌹
目錄
- 前言
- 低級錯誤
- 可能的問題原因:
- 解決方案:
- 推薦文章
前言
AI出來給我最大的感受就是快,找解決方案快了,找代碼快了,找具體問題快了。
當然也給我們開發人員一個警示,要更加嚴格要求自己,不斷提升自我。
低級錯誤
加多了一個s,實際上對于Mvc規則是不認得,所以就認為沒有這個控制器存在。
根據你提供的信息,你的ASP.NET Core 6.0應用程序無法訪問控制器方法并返回404錯誤。以下是可能的原因和解決方案:
可能的問題原因:
-
控制器未正確注冊:你的Program.cs中沒有明確添加控制器(雖然你有
MapControllers
,但可能缺少某些配置) -
路由配置問題:你的控制器使用了
[Route("api/[controller]/[action]")]
,但可能與終結點配置不匹配 -
控制器命名問題:你的控制器類名是
ImgQueryControllers
(復數+s),這可能導致路由不匹配
解決方案:
-
確保正確添加控制器服務:
在Program.cs中,確保有以下代碼:services.AddControllers();
-
檢查控制器類名:
將控制器類名改為ImgQueryController
(去掉末尾的"s"),這是更標準的命名方式:[ApiController] [Route("api/[controller]/[action]")] public class ImgQueryController : ControllerBase
-
確保控制器在正確的位置:
確認你的控制器位于項目根目錄或Controllers
文件夾中 -
完整的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();
-
測試路由:
嘗試訪問以下URL(假設你的控制器有名為Get
的方法):http://localhost:port/api/imgquery/get
-
檢查Swagger/OpenAPI:
如果你有Swagger配置,檢查它是否能發現你的控制器:// 添加Swagger服務 builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();// 在app.Build()后添加 app.UseSwagger(); app.UseSwaggerUI();
-
檢查項目文件:
確保你的.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#】使用代碼實現龍年春晚撲克牌魔術(守歲共此時),流程描述篇