浅浅理解.net core的路由

路由:

web的请求到达后端服务时,controller(控制器)会处理传入的http请求并响应用户操作,请求的url会被映射到控制器的操作方法上。

此映射过程由应用程序中定义的路由规则完成。

 ASP.NET.Core MVC中的路由

路由使用一对由UseRouting和UseEndPoints注册的中间件:

UseRouting向中间件管道添加路由匹配。此中间件会查看应用中定义的终结点集,并根据请求选择最佳匹配

UseEndpoints向中间件管道添加终结点执行。

asp.net.core有两种路由技术:常规路由和属性路由

常规路由:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseStaticFiles();app.UseMvcWithDefaultRoute();
}

默认路由模板{controller=Home}/{action = Index}/{id?},大多数的URL都会按照这个规则进行映射。问号表示 id 参数可有可无。

 如果要定义自己的路径模板,要使用 UseMvc()方法,而不是 UseMvcWithDefaultRoute()方法。

app.UseMvc(routes =>
{routes.MapRoute("default","{controller=Home}/{action = Index}/{id?}");
});

 

//1、启用默认路由
app.UseStaticFiles();
app.UseRouting();  
app.UseMvcWithDefaultRoute();//2、自定义路由模板
app.UseStaticFiles();
app.UseRouting();
app.UseMvc(routes =>
{routes.MapRoute(name: "default",template: "{controller=Home}/{action=Index}/{id?}");
});//3、使用UseEndpoints自定义路由模板 
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{endpoints.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");});

属性路由:

使用属性路由,可以在Controller或 Controller 的操作方法上应用Route属性。

在Startp.cs文件Configure方法中,我们只使用app.UseMvc();然后在Controller的Action方法上通过特性Route来配置。

 [Route("[controller]/[action]")]public class HomeController : Controller{private readonly IStudentRepository _studentRepository;//构造函数注入public HomeController(IStudentRepository studentRepository){_studentRepository = studentRepository;}[Route("")][Route("~/")] //解决 http://localhost:44338/ 访问不了问题[Route("~/home")] //解决 http://localhost:44338/home 访问不了问题public IActionResult Index(int id){return Json(_studentRepository.GetStudent(id));}[Route("{id?}")]public IActionResult Details(int? id){Student model = _studentRepository.GetStudent(id??1);return View(model);}public ObjectResult detail(){return new ObjectResult(_studentRepository.GetStudent(1));}}

在实际项目中运用到的例子---下载文件

[ApiExplorerSettings(IgnoreApi = true)]public class DownFileController : Controller{private ILogger _logger;/// <summary>/// 下载Pscan文件/// </summary>/// <param name="taskId"></param>/// <param name="DownloadFilePath"></param>/// <param name="fileNameList"></param>/// <returns></returns>[Route("[Controller]/{taskId}/{DownloadFilePath?}/{fileName?}")]public IActionResult GetDownFileMessage(string taskId, string DownloadFilePath, string fileName){try{if (fileName != null){//远程部署//string path = "/home/ftp_flow/Data/TaskData/" + taskId + "/" + DownloadFilePath;//string zipPath = "/Data/PscanDownFile/" + $"{DownloadFilePath+"/"+fileNameList}.zip";//本地调试string path = @"E:\beijingData\TaskData\" + taskId + "/" + DownloadFilePath;Console.WriteLine(path);var filePath = Path.Combine(path, fileName);if (System.IO.File.Exists(filePath)){Console.WriteLine(filePath);string fileExt = Path.GetExtension(filePath);//获取文件的ContentTypevar provider = new FileExtensionContentTypeProvider();var memi = provider.Mappings[fileExt];var stream = System.IO.File.OpenRead(filePath);Console.WriteLine("success");return File(stream, memi, Path.GetFileName(filePath));}else{return NotFound();}}else{return NotFound();}}catch (Exception ex){return NotFound();}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28426.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA图像处理 浅浅浅浅浅记

FPGA因其并行处理数据、高速和可编程等特性在图像处理方面得到广泛应用&#xff0c;特别是在简单算法的时候&#xff0c;即图像处理的预处理时&#xff0c;可以通过一些FPGA开发公司所配置的软件进行对算法的实现。 Vivado的一个工具&#xff1a;System Generator 可以直接把…

UCOS(浅浅忆)

UCOS 简介UCOSIIUCOSII 移植 F1UCOSII 任务UCOSII 消息邮箱、信号量 简介 1、实时操作系统分为硬实时和软实时两类 2、UCOSII、UCOSIII的区别 1、UCOSIII新增功能 1.1 同时支持优先级与时间片调度算法 1.2 将中断任务调节交给系统任务处理&#xff0c;大大缩短中断执行时间 1…

浅浅的聊一下 WebSocket

浅浅的聊一下 WebSocket 第一次看到 ws:// 和 wss:// 时候&#xff0c;感觉好高级啊&#xff0c;还有这种协议。 Websocket 历史 WebSocket是在2008年6月诞生的1。经由IEFT标准化后&#xff0c;2009年chrome 4第一个提供了该标准支持&#xff0c;并默认启用。于2011年由IEFT标…

中关村科金张杰:ChatGPT火爆背后,对话式AI在企业服务场景面临三大挑战|MEET2023...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT火爆&#xff0c;也让更多人看到对话式AI的商业价值。 根据艾瑞咨询发布的《2022年中国对话式AI行业发展白皮书》&#xff0c;2021年对话式AI的市场规模为45亿元&#xff0c;带动规模126亿元。 在MEET2023智能未来大会上&#x…

可怕的人工智能ChatGPT

闲来无事想看看ChatGPT作诗的水平如何&#xff0c;于是让ChatGPT模仿苏轼写一首古诗&#xff0c;第一首如下&#xff1a; 读完这首诗&#xff0c;我差点把剩下的几根头发薅下来 接下来抱着试试看的态度给ChatGPT说一下稍微具体点的要求&#xff1a; 唉&#xff0c;古诗的规则…

python统计三国演义中人物出现的频次

方式一. 简化版 安装jieba库/numpy库编程读取《三国演义》电子书&#xff0c;输出出场次数最高的10个人物名字 代码注释&#xff1a; import numpy import jieba# numpy输出有省略号的问题&#xff0c;无法显示全部数据 numpy.set_printoptions(thresholdnumpy.inf)def readF…

对行业大模型的思考

深度学习自然语言处理 分享知乎&#xff1a;黄文灏职位&#xff1a;北京智源AI研究院技术负责人 看到了 Naiyan Wang[1] 和 刘聪NLP[2] 的两篇文章&#xff0c;都提到了对行业大模型的一些看法&#xff0c;有很多相同的想法。正好身边有很多人在讨论行业大模型&#xff0c;想要…

浅谈爆火的AIGC会不会是下一个元宇宙?

OpenAI终于发布了ChatGPT安全方法&#xff0c;这距离意大利政府公开宣布全面禁止ChatGPT还不到一周。 ChatGPT对隐私规则的侵犯和版权问题的触及&#xff0c;伴随一季度迅速在全球范围内的爆火而出现。 紧随意大利的是&#xff0c;德国、日本、法国、加拿大和美国&#xff0c…

斯坦福大学AI课程;创始人剽窃丑闻后 Stability AI 两名高管离职,公司前景存疑

&#x1f989; AI新闻 &#x1f680; Windows Copilot&#xff1a;微软的智能AI助手助力Windows操作系统革命 摘要&#xff1a;微软发布了Windows Copilot的开发者预览版更新。Windows Copilot是微软最新推出的智能助手&#xff0c;通过它用户可以无门槛地使用Windows的各种功…

入职仅1年,谷歌高管不满开发方向后离职!网友:“雪上加霜,谷歌AR业务要凉凉?”...

整理 | 朱珂欣 出品 | CSDN程序人生&#xff08;ID&#xff1a;coder_life&#xff09; 过去数月&#xff0c;谷歌的 AR 业务可谓是「动荡不安」—— 裁员、改组、 AR/VR 主管 Clay Bavor 离职。 昨天&#xff0c;谷歌人事变动再起&#xff0c; AR 操作系统团队负责人 Mark …

2023 年 4 月很火的网站

最近chatgpt持续火热&#xff0c;基于chatgpt的网站/工具越来越多&#xff0c;今天分享几个很火的网站&#xff0c;之前分享过的上百个实用网站同步到我的博客了 https://sushengbuhuo.github.io/blog chatdoc 一个基于 ChatGPT 的文档阅读助手http://www.chatdoc.com &#x…

现场拔网线!第四范式版GPT能力首秀,有点不一样

金磊 发自 第四范式大厦量子位 | 公众号 QbitAI 国产大模型能大战&#xff0c;又有一员猛将入局。 就在刚刚&#xff0c;第四范式自研大模型“式说”&#xff08;4Paradigm SageGPT&#xff09;在上线2个月后&#xff0c;终于来了一波能力首秀。 而且纵观整场活动的发布&#x…

2023 AI大语言模型TOP10

注&#xff1a;本次评测时间截至2023.5.10&#xff0c;评价指标主要包括语义理解、逻辑推理、情感分析、百科知识、文本质量五个维度&#xff09; 今年春节档&#xff0c;一部《流浪地球2》点燃了沉寂许久的中国科幻电影市场&#xff0c;也让MOSS这一电影里冷酷无情的强人工智能…

百度搜索迎来奇点 大模型掀起代际变革

每一轮技术革命掀起的浪潮&#xff0c;大部多数人还没来得及思考或者布局&#xff0c;已经消失于海浪中。机会是给有准备的人的&#xff0c;要发现新兴技术的亮点&#xff0c;并立足自身去积极拥抱它&#xff0c;最后转化为自身前进的动力&#xff0c;跨越周期&#xff0c;迎来…

劲爆!154页微软GPT研究报告:人工通用智能的火花,GPT-4的早期实验

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年2月份热门报告合集 ChatGPT调研报告&#xff08;仅供内部参考&#xff09; 文心一言、GPT3.5及GPT4应用测评对比报告 ChatGPT团队背景研究报告 ChatGPT的发展历程、原…

这 7个 AI 写作助手,太实用了

想象一下&#xff1a;你正在办公桌前为你的广告输入标题&#xff0c;但你突然思维阻塞并卡住了&#xff0c;可惜这时还没有神奇的软件可以帮助你想出点子。或许是有的&#xff1f; 2023 年&#xff0c;AI 写作工具似乎不可避免地会很快融入我们的工作流程中。现代知识工作者已…

怎样让chatGPT给你打工然后月入过百?(二)

上一篇&#xff1a;怎样让chatGPT给你打工然后月入过千&#xff1f; 前言 过千不现实&#xff0c;实测了一个月&#xff08;2月份测的&#xff09;&#xff0c;收入 当时文库任务的行情好&#xff0c;每天都有任务&#xff0c;现在不行了经常刷不出任务&#xff0c;而且脚本…

2022软件质量与管理-考题复习

最下面有2022的软件工程与管理考题~ 简答题 【2021】估算的要点(10分) 尽可能划分详细一些&#xff1b; 建立对估算结果的信心&#xff1b; 依赖数据&#xff1b; 估算是利益相关者达成共识的过程&#xff0c;而不是结果。 【2021】基于Yield构建预测模型(10分) 基于Yield指标构…

私有部署、重构企业软件,第四范式发布大模型“式说”

大模型领域再添重要一员&#xff01; 4月26日&#xff0c;第四范式首次向公众展示其大模型产品「式说3.0」&#xff0c;并首次提出AIGS战略&#xff08;AI-Generated Software&#xff09;&#xff1a;以生成式AI重构企业软件。式说将定位为基于多模态大模型的新型开发平台&…

从0到1使用chatGPT以及简单调用JAVA api实现网页的交互

文章目录 前言注册过程如何使得提示词更加的准确&#xff1f;api的简单调用用httpclient去手动填充请求头现成封装的方法 最终效果 前言 本文探讨的是从0到1&#xff0c;如何注册GPT账号&#xff0c;如何编写提示词&#xff08;prompt&#xff09;&#xff0c;以及简单的java调…