当前位置:网站首页>ASP.Net Core实战——使用Swagger
ASP.Net Core实战——使用Swagger
2022-08-09 14:53:00 【iZaix】
踩坑不背锅,.NET Core 试深浅
关于Swagger
什么是swagger
使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。
Swagger 的目标是为 REST APIs 定义一个标准的,与语言无关的接口。只需要按照它的规范去定义接口及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端的代码,以及在线接口调试页面等。
所带来的帮助
当项目处于启动阶段
如果有了稳定的后台框架,直接依据业务需求编写服务端被调用层的代码(即controller及其入参出参对象),然后通过Swagger生成相关描述文件,使用者就可以直接使用了。
如果后台框架不成熟或在设计中,但是依据业务需求我们可以完成更多的工作而不是等待,先根据数据需求编写Swagger描述文件,通过该描述文件生成接口文档,指引项目的相关开发。
当项目处于迭代阶段
在项目的持续开发中,后端人员无需关注Swagger描述文件和接口文档,有需求变更导致接口变化,可直接编程实现,然后生成新的描述文件和接口文档后,给到前端即可。
使用Swagger
首先,先创建一个新的WebAPI项目,并在Nuget中找到对应的包,搜索Swashbuckle会出现很多应用包,可以根据描述选择自己需要的引用。我在这里使用的是Swashbuckle.AspNetCore.Filters

接下来在Startup中插入如下代码
注册服务
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
{
Title = "HTTP API 目录",
Version = "v1",
Description = "目录微服务HTTP API。"
});
});
中间件
//启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
//启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwagger().UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
然后,就可以使用了,请求对应地址 https://localhost:44375/swagger/index.html,现在就可以看到示例代码中的WeatherForecast.cs了。

边栏推荐
- Bean的生命周期
- MySQL principle and optimization: Limit the query optimization
- How to use and execute quantitative programmatic trading?
- How to flexibly use the advantages of the quantitative trading interface to complement each other?
- pytorch从零搭建神经网络实现多分类(训练自己的数据集)
- 【C语言初阶】倒置字符串(输入 I like beijing. 输出beijing. like I)
- Mathematica 数据分析(简明)
- What are the implications of programmatic trading rules for the entire trading system?
- OpenSSF's open source software risk assessment tool: Scorecards
- 对程序化交易系统接口有什么误区?
猜你喜欢
随机推荐
DSPE-PEG-Aldehyde, DSPE-PEG-CHO, Phospholipid-PEG-Aldehyde MW: 1000
[ERR] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘
简单记录下offsetof和container_of
Entity Framework Core知识小结
How do quantitative investors obtain real-time market data?
常见的数学物理方程
How do users correctly understand programmatic trading?
Talking about Shallow Cloning and Deep Cloning of ArraryList
数字图像处理的基本原理和常用方法
双摄像头系列原理深度剖析【转载】
为什么要学编译原理
编译器不同,模式不同,对结果的影响
物理学专业英语(词汇整理)--------07
经典面试题 之 SQL优化
ImageWatch无法显示图像
Mathematica 作图详解
VS2010:出现devenv.sln解决方案保存对话框
软件工程基础知识--软件过程模型
抢占量化交易基金产品先机,量化投资有发展空间?
如何灵活运用量化交易接口的优势取长补短?









