首页 > 其他分享 >用swagger-ui来生成webapi接口文档并可以在线测试

用swagger-ui来生成webapi接口文档并可以在线测试

时间:2022-09-29 11:38:11浏览次数:48  
标签:webapi index html 接口 API ui swagger


用swagger-ui来生成webapi接口文档并可以在线测试

Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。 


Swagger-UI更倾向于在线测试接口和数据,但其核心是一个javascript插件,只要稍作修改,便能按需求定制出不同格式的说明文档,在github上更是基于它集成到各种语言环境,分支众多。 



其官方提供了一个离线版本,它的使用方法十分简单:直接在js格式的资源文件中录入REST API的json信息,便能容易地生成不同模块下的API列表,每个API接口描述和参数、请求方法都能在每个json数组中定制。下面是目前项目中使用到的部分预览图: 



在.net中使用


1.NuGet包安装

控制台安装


Install-Package Swashbuckle


也可以在管理器搜索安装


2.安装之后会在App_Start文件夹中添加SwaggerConfig.cs类

该类中的Register()方法会在应用程序启动的时候调用(会随系统一起启动,不用修改)


3.浏览地址:http://localhost:端口/swagger/ui/index.html 就可以看到了

index.html 的内容如下:



<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
window.location = "swagger";
</script>
</head>
<body>
</body>
</html>


index.html放在根目录下即可

注:是要在根目录添加这个文件,再打开上面的地址即可,

如果不添加这个index.html 文件,在地址栏打开 http://localhost:端口/swagger 这个网址


4 所有api接口都可以在这里看到

从方法到参数,参数定义都很详细,更主要的是可以在线调试测试了。

注:这就是一个简单的应用,当然也可以通过修改SwaggerConfig.cs来适应自己的需求

5 如果要看到接口方法的注释,在SwaggerSconfig.cs 的Register()方法里,找到

//c.IncludeXmlComments(GetXmlCommentsPath());


把注释放开,加上这个方法

protected static string GetXmlCommentsPath()
{
return System.String.Format(@"{0}\App_Data\TestSwagger.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}


xml文件的生成要在项目属性-》生成里设置,默认路径是 /bin/***.xml,我这里该到了App_Data下了。这样的话在ui界面就可以看到接口注释了。

6 更多的说明可以看 https://github.com/domaindrivendev/Swashbuckle

标签:webapi,index,html,接口,API,ui,swagger
From: https://blog.51cto.com/u_15810749/5722068

相关文章

  • Qt6.2.4 Arduino 上位机
    参考https://zhuanlan.zhihu.com/p/507277665https://blog.csdn.net/weixin_43491568/article/details/102959168环境环境版本windows10Qt6.2.4Qt......
  • WPF 应用启动过程同时启动多个 UI 线程且访问 ContentPresenter 可能让多个 UI 线程互
    在应用启动过程里,除了主UI线程之外,如果还多启动了新的UI线程,且此新的UI线程碰到ContentPresenter类型,那么将可能存在让新的UI线程和主UI线程互等。这是多线程......
  • UI动画 - CATransaction
    前言1-CAAnimation并不是一个单纯的实现动画的框架,它原本叫LayerKit。管理着树状结构的图层数据,并快速组合这些图层,最终构成了一切可视化的基础2-在构建可视化,也......
  • 【element UI】el-cascader 组件使用过程踩坑记录
    前言项目中使用到el-cascader组件,记录下遇到的一些问题以及解决方法,方便后续回顾查看。样式问题我是使用按需引入的elementUI,当使用到el-cascader组件时,下拉框里......
  • maui仿真器安卓虚机该位置
    vs2022maui安卓模拟器打开安卓设备管理器,新建设备1.先要安装hyper-v.否则虚拟机很慢,见不到桌面,总是在启动中2.pixel5,安卓api32.这个虚拟机安装好之后有近9G,尝试移......
  • element-ui 上传文件后点击图片实现预览效果
    背景在我们上传文件后我们希望点击文件实现预览效果进行确认或者其他操作。方式1:可以使用element-ui的upload组件+dialog+image组件解决,示例代码如下:<el-uploada......
  • burpsuite intruder 小技巧之 自动token验证
    第一步:标记爆破点,及爆破方式:爆破方式选择:pitch-fork:可以在每个爆破点载入不同的字典,但是在过程中多个字典均顺序执行。 第二步:配置payloads 针对token配置迭代调用;第三步:......
  • 【Azure Developer】Java代码访问Key Vault Secret时候的认证问题,使用 DefaultAzureCr
    问题描述使用JavaSDK获取KeyVaultSecret机密信息时,需要获取授权。通常是使用AAD的注册应用(ClientID,TenantID,ClientSecret)来获取 credential对象。Sec......
  • GUI概述
    GUI简介GUI(GraphicsUserInterface),中文名称为图形用户界面,是指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。早......
  • springboot集成swagger之knife4j实战(升级版)
    官方文档链接:https://doc.xiaominfo.com/一、Knifej和swagger-bootstrap-ui对比Knife4j在更名之前,原来的名称是叫swagger-bootstrap-ui,这是两种不一样风格的ui显示,将原......