ASP.NET Core Web API入门之二:Swagger详细使用路由设置

news2024/11/18 3:28:41

ASP.NET Core Web API入门之二:Swagger详细使用

  • 一、引言
  • 二、Swagger的作用以及优点
    • 2.1 作用
    • 2.2 优点
  • 三、API接口添加注释
    • 3.1 编辑项目文件
    • 3.2 修改 Startup.cs 文件的 ConfigureServices 方法
    • 3.3 修改浏览器的网页标题
    • 3.4 注册路由中间件
    • 3.4 接口添加注释
  • 四、运行后效果

一、引言

本篇文章是Swagger的详细使用,续上篇ASP.NET Core Web API入门之一:创建新项目。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。

二、Swagger的作用以及优点

2.1 作用

根据在代码中使用自定义的注解来生成接口文档,这个在前后端分离的项目中很重要。这样做的好处是 在开发接口时可以通过swagger 将接口文档定义好,同时也方便以后的维护。

2.2 优点

号称是最流行的 API 框架

接口文档在线生成,避免同步的麻烦

可以支持在线对接口执行测试

支持多语言

三、API接口添加注释

3.1 编辑项目文件

项目(右键)->编辑项目文件->添加键

 <GenerateDocumentationFile>True</GenerateDocumentationFile>

在这里插入图片描述

3.2 修改 Startup.cs 文件的 ConfigureServices 方法

找到 services.AddSwaggerGen();,直接替换为下面代码,接下来运行工程看效果。

services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
                {
                    Version = "v1",             //版本
                    Title = "WDQ API",          //标题
                    Description = "吴东强的API" //描述
                });

                //添加API接口注释
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                options.IncludeXmlComments(xmlPath);
            });

3.3 修改浏览器的网页标题

在 Configure 方法中找到app.UseSwaggerUI(),使用箭头函数修改 DocumentTitle 属性,代码如下

		app.UseSwaggerUI(options =>
		{
		    options.DocumentTitle = "WDQ API";  //浏览器的网页标题
		});
		

3.4 注册路由中间件

重点:在Configure方法中注册路由中间件,目的是要让控制器中的路由能够被请求,否则将404。

		app.UseRouting();//使用路由
		app.UseAuthorization();//使用授权,明确你是否有某个权限。
		//使用匹配的端点
		app.UseEndpoints(endponits =>
		{
		    endponits.MapControllers(); //将本程序集定义的所有Controller和Action转换为一个个的EndPoint,放到路由中间件的配置对象RouteOptions中
		});

3.4 接口添加注释

在这里插入图片描述
注意:这样添加注释会导致整个项目的cs文件都会有提示缺少XML注释。

四、运行后效果

在这里插入图片描述
结语:Swagger是不错的框架,有兴趣的可以继续深入学习下。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于html+css的图展示125

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

项目管理专业人员能力评价(CSPM)好考吗?考试时间什么时候?

2021年10月&#xff0c;中共中央、国务院发布的《国家标准化发展纲要》明确提出构建多层次从业人员培养培训体系&#xff0c;开展专业人才培养培训和国家质量基础设施综合教育。建立健全人才的职业能力评价和激励机制。由中国标准化协会&#xff08;CAS&#xff09;组织开展的项…

和数集团Baas服务如何推动区块链技术应用和产业发展?

近日&#xff0c;《区块链和分布式记账技术 参考架构》(GB/T 42752-2023)国家标准正式发布。这是我国首个获批发布的区块链技术领域国家标准。该标准在区块链技术应用和产业发展方面提出了参考架构规范&#xff0c;包括用户视图、功能视图、实现视图和部署视图。在功能架构方面…

启程阿拉德之怒三端架设教程

阿拉德之怒是一款横版动作冒险RPG手游&#xff0c;游戏采用虚拟按键模式呈现指尖上的连击盛宴&#xff0c;波动血气等不同的奥义带来多系转职技能&#xff0c;讲述不同时空交错的节点诞生的大陆之上&#xff0c;来个各界的强者们汇聚在一起冒险战斗故事&#xff0c;领悟鬼手之力…

基于ubuntu22.04-深入浅出 eBPF

笔者在很早之前就看eBPF这类似的文章&#xff0c;那时候看这个技术一脸懵逼&#xff0c;不知道它是用来做什么&#xff0c;可以解决什么问题。所以也没有太关注这个技术。很庆幸最近刚好有机会研究这个技术。 什么是BPF BPF的全称是Berkaley Packet Filter,即伯克利报文过法器…

计算机视觉的应用7-利用YOLOv5模型启动电脑摄像头进行目标检测

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用7-利用YOLOv5模型启动电脑摄像头进行目标检测&#xff0c;本文将详细介绍YOLOv5模型的原理&#xff0c;YOLOv5模型的结构&#xff0c;并展示如何利用电脑摄像头进行目标检测。文章将提供样例代码&a…

【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token

写在前面 本文简要说明GitLab配置accessToken以及双因子认证&#xff08;Two-factor authentication&#xff09;。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.配置accessToken3.克隆项目4.双因子认证 三、参考资料写在后面 一、场景描述 在使用账号和密码的方式拉取公…

数据库的 Schema 变更实现

一、减少元数据变更的措施 元数据变更是数据库管理中不可避免的工作项&#xff0c;减少元数据变更次数可降低数据库维护和管理成本&#xff0c;减轻对业务的影响。这里我们可以优先考虑以下 3 点&#xff1a; 精细计划 在数据库设计和开发阶段&#xff0c;精细设计元数据结构…

月度精华汇总 | 最新XR行业资讯、场景案例、活动都在这一篇里啦!

​ 在过去的一个月中&#xff0c;平行云为您带来了关于XR领域的一系列精彩文章&#xff0c;涵盖了行业资讯、应用案例&#xff0c;市场互动&#xff0c;帮助您掌握XR领域最新动态&#xff0c;了解实时云渲染、Cloud XR技术的价值&#xff0c;以及平行云实时云渲染解决方案LarkX…

【每日算法】【160. 相交链表】

☀️博客主页&#xff1a;CSDN博客主页 &#x1f4a8;本文由 我是小狼君 原创&#xff0c;首发于 CSDN&#x1f4a2; &#x1f525;学习专栏推荐&#xff1a;面试汇总 ❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏 ⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&…

【陈老板赠书活动 - 04期】- 【C++、Linux、算法等系列众书】

陈老老老板&#x1f9b8; &#x1f468;‍&#x1f4bb;本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f468;‍&#x1f4bb;本文简述&#xff1a;与几分醉意.一起搞的赠书活动一次30本书哦&#xff01;&#xff01;…

软件项目质量管理的4大注意事项

1、制定质量计划和评估标准 项目质量管理首先需要制定详细的质量计划&#xff0c;明确项目质量目标&#xff0c;制定质量评估标准和验收方案。质量计划需与项目计划密切相关&#xff0c;并确保项目质量管理与项目进度和成本控制相配合。 软件项目质量管理的4大注意事项 2、构建…

Java+Swing+mysql仿QQ聊天工具

JavaSwingmysql仿QQ聊天工具 一、系统介绍二、功能展示1.用户登陆2.好友列表3.好友聊天4.服务器日志 三、系统实现四、其它1.其他系统实现2.获取源码 一、系统介绍 系统主要功能&#xff1a;用户登陆、好友列表、好友聊天、服务器日志 二、功能展示 1.用户登陆 2.好友列表 3…

想要避免计划外停机?预测性维护技术是关键

在现代工业领域&#xff0c;非计划停机是一项令人头疼的问题&#xff0c;它导致生产损失、利润减少&#xff0c;并给运营团队带来巨大的压力。然而&#xff0c;基于时间的维护策略并不能有效应对所有设备故障&#xff0c;因为大部分故障表现出随机模式&#xff0c;难以准确预测…

深入探索基于Webdriver的分层自动化框架搭建

目录 前言&#xff1a; 1、基于webdriver的分层自动化框架及平台搭建&#xff0c;目前刚好在做这一块的工作&#xff0c;对于分层次和平台搭建&#xff0c;想问下大神有什么好的建议&#xff1f; 2、希望大神能自己的工作经历和经验&#xff0c;对初入测试行业的后辈有何建议…

SpringCloudAlibaba环境搭建版本说明

可以通过www.github.com网站搜索alibaba&#xff0c;点击第一个超链接 点击wiki 点击版本说明 里面有对应版本&#xff1a; 也可以通过版本说明 alibaba/spring-cloud-alibaba Wiki GitHub这个链接直接访问

模板学堂|DataEase地图视图功能详解

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场&#xff08;https://dataease.io/templates/&#xff09;。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板&#xff0c;方便用户根据自身的业务需求和使用场景选择对应的仪表板模板&#xff0c;并…

【渗透测试学习】RCE漏洞是什么意思?其危害是什么?

RCE漏洞是网络安全中非常常见的漏洞之一&#xff0c;该漏洞又叫做远程代码执行漏洞&#xff0c;属于高危漏洞&#xff0c;其有着巨大的危害和影响。但很多人初识网络安全时&#xff0c;对RCE漏洞并不是很了解&#xff0c;到底是什么是RCE漏洞?RCE漏洞危害是什么?又该如何预防…

全国PMO专业人士年度盛会︱2023第十二届中国PMO大会会议日程

由PMO评论主办的第十二届中国PMO大会拟定于2023年8月12-13日在北京召开&#xff0c;本次大会主题为&#xff1a;“拥抱变革 展现PMO力量”&#xff0c;将特邀知名企业卓有建树的PMO实践精英来演讲&#xff0c;交流经验分享智慧&#xff0c;推动PMO在变革中不断成长、进化&#…

mac bash: python: command not found

问题&#xff1a;今天安装canvas的时候&#xff0c;报错提示python: command not found /bin/bash下不好使 ln -s /usr/bin/python3 /usr/local/bin/python zsh下不好使&#xff1a; 解决办法&#xff1a; # bashMacBook-Pro ~ % echo "alias python/usr/bin/python3&…