【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://www.pswp.cn/bicheng/79839.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79839.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79839.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

當LLM遇上Agent:AI三大流派的“復仇者聯盟”

你一定聽說過ChatGPT和DeepSeek&#xff0c;也知道它們背后的LLM&#xff08;大語言模型&#xff09;有多牛——能寫詩、寫代碼、甚至假裝人類。但如果你以為這就是AI的極限&#xff0c;那你就too young too simple了&#xff01; 最近&#xff0c;**Agent&#xff08;智能體&a…

Spring Boot多模塊劃分設計

在Spring Boot多模塊項目中&#xff0c;模塊劃分主要有兩種思路&#xff1a;??技術分層劃分??和??業務功能劃分??。兩種方式各有優缺點&#xff0c;需要根據項目規模、團隊結構和業務特點來選擇。 ??1. 技術分層劃分&#xff08;橫向拆分&#xff09;?? 結構示例&…

兩次解析格式化字符串 + 使用SQLAlchemy的relationship執行任意命令 -- link-shortener b01lersCTF 2025

題目描述: A fast and reliable link shortener service, with a new feature to add private links! 我們走一遍邏輯 注冊 app.route("/register", methods[GET, POST]) def register(): """ 用戶注冊路由&#xff0c;處理用戶注冊請求&#xff…

后端id類型為long類型時,返回給前端瀏覽器四舍五入,導致id精度缺失問題

背景 今天在代碼里&#xff0c;掉了別人寫的接口&#xff0c;有個id的字段是long類型的&#xff0c;我這邊加點參數返回給前端&#xff0c;然后前端根據id修改&#xff0c;結果修改的數據記錄有&#xff0c;但是沒起作用&#xff0c;后來發現根據他傳給我的id在后臺數據庫查不…

Scartch038(四季變換)

知識回顧 1.了解和簡單使用音樂和視頻偵測模塊 2.使用克隆體做出波紋特效 3.取色器妙用偵測背景顏色 前言 我國幅員遼闊,不同地方的四季會有不同的美麗景色,這節課我帶你使用程序做一個體現北方四季變化的程序 之前的程序基本都是好玩的,這節課做一個能夠賞心悅目的程序。…

JVM happens-before 原則有哪些?

理解Java Memory Model (JMM) 中的 happens-before 原則對于編寫并發程序有很大幫助。 Happens-before 關系是 JMM 用來描述兩個操作之間的內存可見性以及執行順序的抽象概念。如果一個操作 A happens-before 另一個操作 B (記作 A hb B)&#xff0c;那么 JMM 向你保證&#x…

從 Eclipse Papyrus / XText 轉向.NET —— SCADE MBD技術的演化

從KPN[1]的萌芽開始&#xff0c;到SCADE的推出[2]&#xff0c;再到Scade 6的技術更迭[3]&#xff0c;SCADE 基于模型的開發技術已經歷許多。現在&#xff0c;Scade One 已開啟全新的探索 —— 從 Eclipse Papyrus / XText 轉向.NET 8跨平臺應用。 [1]: KPN, Kahn進程網絡 (197…

osquery在網絡安全入侵場景中的應用實戰(二)

背景 上次寫了osquery在網絡安全入侵場景中的應用實戰(一)結果還不錯,這次篇目二再增加一些場景。osquery主要解決的時員工被入侵之后電腦該如何溯源取證的問題。通常EDR會有日志,但是不會上報全量的日志。發現機器有惡意文件需要上級取證的時候,往往是比較麻煩的,會有這…

opencv+opencv_contrib+cuda和VS2022編譯

本文介紹使用OpenCV和OpenCV_Contrib源碼及Cuda進行編譯的過程&#xff0c;編譯過程中會用到OpenCV、OpenCV_Contrib、Toolkit、Cmake、VS2022等工具&#xff0c;最終編譯OpenCV的Cuda版本。 一、OpenCV下載地址 OpenCV官網下載地址:https://opencv.org/releases/#&#xff0…

spring中的@ConfigurationProperties注解詳解

一、核心功能與作用 ConfigurationProperties 是Spring Boot中用于將外部配置&#xff08;如application.properties或application.yml中的屬性&#xff09;綁定到Java對象的核心注解。其核心功能包括&#xff1a; 配置集中管理&#xff1a;將分散的配置屬性按前綴綁定到Java類…

【C/C++】函數模板

&#x1f3af; C 學習筆記&#xff1a;函數模板&#xff08;Function Template&#xff09; 本文是面向 C 初學者的函數模板學習筆記&#xff0c;內容包括基本概念、定義與使用、實例化過程、注意事項等&#xff0c;附帶示例代碼&#xff0c;便于理解與復現。 &#x1f4cc; 一…

電子病歷高質量語料庫構建方法與架構項目(智能數據目錄篇)

電子病歷高質量語料庫的構建是醫療人工智能發展的基礎性工作,而智能數據目錄作為數據治理的核心組件,能夠有效管理這些語料資源。本文將系統闡述電子病歷高質量語料庫的構建方法與架構,特別聚焦于智能數據目錄的設計與實現,包括數據目錄的功能定位、元數據管理、構建步驟以…

前端懶加載(Lazy Loading)實戰指南

&#x1f680; 前端懶加載&#xff08;Lazy Loading&#xff09;實戰指南 懶加載是現代 Web 性能優化的“常規操作”。它的目標簡單直接&#xff1a;讓用戶只加載“當下真正需要的資源”。從靜態資源、組件、模塊到數據&#xff0c;每一層都可以使用懶加載技術&#xff0c;構建…

在 Ubuntu 系統中,查看已安裝程序的方法

在 Ubuntu 系統中&#xff0c;查看已安裝程序的方法取決于軟件的安裝方式&#xff08;如通過 apt、snap、flatpak 或手動安裝&#xff09;。以下是幾種常見方法&#xff1a; 通過 apt 包管理器安裝的軟件 適用于通過 apt 或 dpkg 安裝的 .deb 包。 列出所有已安裝的軟件包&…

性能優化實踐:性能監控體系

性能優化實踐&#xff1a;性能監控體系 在Flutter應用開發中&#xff0c;建立一個完善的性能監控體系對于保證應用質量和用戶體驗至關重要。本文將從實戰角度深入講解如何搭建Flutter應用的性能監控體系&#xff0c;包括監控指標的設計、數據采集實現、分析平臺搭建等內容。 …

kotlin 02flow-sharedFlow 完整教程

一 sharedFlow是什么 SharedFlow 是 Kotlin 協程中 Flow 的一種 熱流&#xff08;Hot Flow&#xff09;&#xff0c;用于在多個訂閱者之間 共享事件或數據流。它適合處理 一次性事件&#xff08;如導航、彈窗、Toast、刷新通知等&#xff09;&#xff0c;而不是持續狀態。 ? …

模擬開發授權平臺

這次只是實現應用的curd和公私鑰的校驗以及第三方的通知dmeo項目&#xff0c;大家可以拓開視野來編寫 進入主題 項目鏈接&#xff1a;桌角的眼鏡/develop_auth_platform 直接下拉并運行就行 回調應用代碼在test包中 回調應用測試代碼 package mainimport ("encoding/…

STM32 USART串口

一、通信接口 二、串口通信 串口是一種應用十分廣泛的通訊接口&#xff0c;串口成本低、容易使用、通信線路簡單&#xff0c;可實現兩個設備的互相通信單片機的串口可以使單片機與單片機、單片機與電腦、單片機與各式各樣的模塊互相通信&#xff0c;極大地擴展了單片機的應用…

uniapp開發06-視頻組件video的使用注意事項

uniapp開發-視頻組件video的使用注意事項&#xff01;實際項目開發中&#xff0c;經常會遇到視頻播放的業務需求。下面簡單講解一下&#xff0c;uniapp官方提供的視頻播放組件video的常見參數和實際效果。 1&#xff1a;先看代碼&#xff1a; <!--視頻組件的使用展示-->…

【爬蟲】微博熱搜機

第一個下面一點&#xff1a; js代碼&#xff1a; const n require("crypto-js");let s n.SHA1(n.enc.Utf8.parse("tSdGtmwh49BcR1irt18mxG41dGsBuGKS")) , a n.enc.Hex.parse(s.toString(n.enc.Hex).substr(0, 32));function h(t) {let e (i t Stri…