在WebApi中 集成 Swagger
1. Swagger(俗称:丝袜哥)是什么东西?
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。
2.丝袜哥可以干什么?
a.接口,服务可视化,非常清晰,好用
b.做接口测试,方便测试人员使用
3.Swagger怎么和WebApi集成?
第一步:创建WebApi工程
第二步:引入swagger的包(Swashbuckle、swagger两个)
第三步:打开解决方案属性-->生成,勾选XML文档文件,保存
swagger在生成xml注释文档之后会保存到当前appdomaim下的bin目录,用于在UI上展示
第四步:找到swaggerconfig文件的注册方法,去掉下面注释的这一句代码,用于在UI上加载生成的xml文档
GetXmlCommentsPath方法的实现如下:读取注释文件的路径
1
2
3
4
|
private static string GetXmlCommentsPath() { return string .Format( "{0}/bin/WebApiSwaggerDemo.XML" , System.AppDomain.CurrentDomain.BaseDirectory); } |
第五步:打开swggernet文件,注释掉下面的两行代码(估计是nuget包中的代码没有更新导致这个异常出现)
第六步:swagger已经集成成功了,在浏览器输入:http://localhost:37033/swagger/ui/index 就可以看到界面了
第七步:开发自己的API模块
1
2
3
4
5
6
7
8
9
10
|
/// <summary> /// 更新订单信息 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpPost, Route( "order/UpdateOrder" )] public OutPutResult UpdateOrder(BusinessModel input) { return new OutPutResult() { Success = false , Message = "恭喜你更新订单成功!" }; } |
指定路由地址 order/UpdateOrder 和访问方式 Post/Get/Put
第八步:测试调用
通过Swaggerui可以通过你的Comtroller来分模块浏览和测试接口列表
这对于公司内部使用太方便了,所有的API 可以供开发和测试来调用,但是需要注意的一点是,生产环境还是要做权限控制的,因为POST和PUT方法是可以直接操作数据库的。
公司一直在用,但是没时间总结和分享,最近写下来希望对大家有帮助。
在WebApi中 集成 Swagger的更多相关文章
- .NET webAPI中集成swagger
最近做的项目使用winform三层+webapi,对于webAPI路由文档管理一直觉得单独做一些管理比较麻烦,并且测试的时候项目内的代码测试运行起来也比较麻烦,所以在网上开始检索相关办法,发现热度比较 ...
- 在Abp中集成Swagger UI功能
在Abp中集成Swagger UI功能 1.安装Swashbuckle.Core包 通过NuGet将Swashbuckle.Core包安装到WebApi项目(或Web项目)中. 2.为WebApi方法 ...
- .net WebApi中使用swagger
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...
- .net WebApi中使用swagger生成WepApi集成测试工具
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...
- 【swagger学习】.net WebApi中使用swagger
我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...
- webapi中使用swagger
net WebApi中使用swagger 我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一 ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- C# WebAPI中使用Swagger
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远. 前端和后端的唯一联系变成了API接口:API文档变成了前 ...
- 在webapi中使用swagger
1 在webapi项目下安装swagger,包名 Swashbuckle.AspNetCore 2 在webapi的startup.cs文件中添加swagger服务 /// <summary&g ...
随机推荐
- 理解 HTTPS 的工作原理
目标读者:理解HTTP协议,对称和非对称加密,想要了解HTTPS协议的工作原理. 读完本文,你能明白 什么是HTTPS,TLS(SSL),TLS和HTTPS是什么关系? 什么是证书和数字签名,它们是如 ...
- JUnit备忘录
测试方法不应该有参数 使用junit做测试的时候发现总是报错:Method XXX should have no parameters; 后来发现是因为测试方法里面函数参数
- Cocos2d-X3.0 刨根问底(四)----- 内存管理源码分析
本系列文章发表以来得到了很多朋友的关注,小鱼在这里谢谢大家对我的支持,我会继续努力的,最近更新慢了一点,因为我老婆流产了抽了很多时间来照顾她希望大家谅解,并在此预祝我老婆早日康复. 上一篇,我们完整的 ...
- 安装zookeeper遇到的问题以及解决方案
伪分布式安装基本思想 zookeeper的安装包保存一份,但是zoo.cfg配置多份,启动zookeeper服务器的时候指定不同的zoo.cfg即可.即启动时这样启动:zkServer.sh star ...
- Django简单的数据库操作
当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...
- ztree.js的使用整理
/** 配置:知识点管理 */ var setting = { view: { showIcon: false, addDiyDom: addPrevDom, addHoverDom: addHove ...
- Logstash-5.0同步.json文件到ElasticSearch-5.0配置文件
logstash/conf/input-file.conf内容如下: input { file { #监听文件的路径. path => ["E:/data_json/*.json&qu ...
- Dom4j把xml转换成Map(固定格式)
/** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...
- 理清Java中的编码解码转换
1.字符集及编码方式 概括:字符编码方式及大端小端 详细:彻底理解字符编码 可以通过Charset.availableCharsets()获取Java支持的字符集,以JDK8为例,得到其支持的字符集: ...
- centos7安装nexus私服2.14
今天项目经理叫搭个nexus私服,记录一下 nexus下载比较慢,可在本地下载,然后用sftp上传到linux系统去,下载地址https://www.sonatype.com/download-oss ...