前言 最近项目要求在ABP框架中根据TenantId是否为空来配置是否禁用租户过滤器。...如果直接从类引用(例如ASP.NET MVC或Web API控制器)中调用方法,则该方法应为虚拟方法。 一种方法应该是虚拟的,如果它的保护。...也就是如果将服务作为客户端的Web API控制器公开,那么方法必须是虚方法(virtual) 附上官方Git issues https://github.com/aspnetboilerplate/...aspnetboilerplate/issues/3237 最后一步就是把拦截器在模块文件中初始化 public class ApplicationCoreModule : AbpModule {...转载是一种动力 分享是一种美德 如果喜欢作者的文章,请关注【麦扣聊技术】订阅号以便第一时间获得最新内容。
3 显示说明 swagger 可以读取代码中的注释,并显示在网页上。如此一来,我们只需要在代码中将注释写好,就可以生成一份可供他人阅读的 API 文档了。...swagger 是通过编译时生成的 xml 文件来读取注释的。这个 xml 文件默认是不生成的,所以先要修改配置。 第一步: 右键项目 -> 属性 -> 生成,把 XML 文档文件勾上。 ?...在 App_Start 中新建类 SwaggerControllerDescProvider,代码如下: /// /// swagger 显示控制器的描述 /// </summary...当然这种做法也是有缺点的,因为 web api 在返回数据时,调用的默认序列化方法也是 Newtonsoft.Json 序列化。...7 传递 header 调用 api 时,有些信息是放在 HTTP Header 中的,例如 token。这个 swagger 也是支持的。
英文原文参考: https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API 这篇文章其实很早就应该写了的,不过。。。...文章我就不挨着翻译了,有时间再挨着翻译吧,原文大致的意思如下: 只要继承了 IApplicationService接口的service框架会自动将接口封装成web api。...api地址为:/api/services/服务名称/方法名称 框架更具方法名称自动匹配生成get或者post等请求。...开头的就匹配为patch请求 其他的默认都是post请求 ?...我们在建立core2.0项目的时候,我们没有写webapi,但是服务跑起来的时候,在swagger Ui 页面也显示了我们服务的api。这就是为什么。而且还都是可以支持跨域的。
在官网完成创建和下载你的项目后,跟随后面的步骤来运行你的应用。 下载地址:https://aspnetboilerplate.com/Templates ?...运行程序,如果成功将会显示 swagger-ui。 这里还有一点我要补充一下就是数据库连接需要根据实际情况进行修改,在‘Web.Host’工程项目下面的appsetting.json中。...注意,npm安装包时可能会出现一些警告信息,这不是我们的解决方案相关的一般没问题。该解决方案还可以配置在yarn上运行,如果你的电脑可以使用yarn,我们建议使用。...当你打开项目,你可以看见登录页面。 就翻译到这里把,因为npm编译出现错误,一时半会也解决不了。 ?.../module-zero-core-template 源码 这个项目模板的作为开源免费项目,项目地址在 Github:https://github.com/aspnetboilerplate/module-zero-core-template
Springboot集成Swagger2 Swagger2简介 1.随项目自动生成强大RESTful API文档,减少工作量 2.API文档与代码整合在一起,便于同步更新API说明 3.页面测试功能来调试每个...{ } 启动项目运行 浏览器输入 http://localhost:8080/swagger-ui.html 我们所写的controller方法都会被检测到 5....编写user实体 在controller返回一个user 运行 会检测到我们所有写的controller方法 也可以进行测试方法 点击Try it out 点击运行...这里就会返回我们测试接口的信息以及响应的结果 给类,属性和方法添加注释信息 在user实体类添加注解 @ApiModel:给类添加注释 @ApiModelProperty :给字段添加注释..., 注意:在项目上线的时候己得吧Swagger给关闭 防止接口暴露 (安全)
在日常开发 webapi 时,我们往往会集成 swagger doc 进行 api 的文档呈现,当api数量比较多的时候就会导致 swagger ui 上的 api 因为数量太多而显得杂乱,今天教大家如何利用... ApiDescriptionGroups 进行循环依次添加多个 Swagger Doc, 然后关于本文目的的 swagger 配置就完成了。...上面讲的方法需要对所有的控制器进行添加 [ApiExplorerSettings(GroupName = "xxxxx")] 属性,下面顺便介绍一下如何通过文件的归类对 控制器进行批量添加 GroupName...我们可以调整我们的控制器存放为文件夹,将同一个组的控制器放在一个文件夹中,示例如下图 调整存放路径之后,利用 vs 的 同步命名空间功能,选中项目,直接右击 同步命名空间,就可以把所有控制器的命名空间都调整过来...,命名空间的最后一节其实就是我们文件夹的名称,也就是我们的 GroupName,如下: 然后我们可以利用 IControllerModelConvention 在项目启动时获取控制器命名空间的最后一节的值
我们在开发 webapi 项目时如果遇到 api 接口需要同时支持多个版本的时候,比如接口修改了入参之后但是又希望支持老版本的前端(这里的前端可能是网页,可能是app,小程序 等等)进行调用,这种情况常见于...是一个自定义的 Swagger 配置方法,主要用于根据 api 控制器上的描述用来循环添加不同版本的 SwaggerDoc; SwaggerOperationFilter 是一个自定义过滤器主要实现SwaggerUI...如下图的两个控制器 这样就配置好了两个版本的 UserController 具体控制器内部的代码可以不同,然后运行 项目观察 Swagger UI 就会发现如下图: 可以通过 SwaggerUI...下面衍生讲解一下如果 项目中有部分 api 控制器并不需要版本控制,是全局通用的如何处理,有时候我们一个项目中总会存在一些基础的 api 是基本不会变的,如果每次 api 版本升级都把所有的 控制器都全部升级显然太过繁琐了...只要在这些控制器头部添加 [ApiVersionNeutral] 标记即可,添加了 [ApiVersionNeutral] 标记的控制器则表明该控制器退出了版本控制逻辑,无论 app 前端传入的版本号的是多少
一,swagger是什么? swagger是一种基于Rest样式的api文档开发工具,我们常常替换前替换项目,解决由于前直接分离导致的数据接口替代问题,有效减少前端程序员与编程程序员的打斗次数。...在我的项目里一共有三个控制器:LoginController、RegisterController、OssController 其中1,红色框内就是我配置的一些信息,而标注的①②③是我自己的controller...,额外的④是替代的controller,也就是我们访问出错的/error页面 2.2,配置swagger扫描 若我们在开发中不想看到任何的控制器或需要隐藏其他的控制器,我们可以使用以下配置 其中,apis...2.3,配置swagger2设置分组 当我们在实际的开发中,一个项目经常由多个开发人员共同协作完成的,而swagger恰好可以在这方面解决这一问题。...另外: swagger的常用API 1. api标记Api用在类上,说明该类的作用。可以标记一个控制器类作为swagger文档资源,使用方式: 1.
如果你的 RESTful API 还未开始,也可以使用 Swagger ,来设计和规范你的 API,以 Annotation (注解)的方式给你的源代码添加额外的数据。...如果项目调用 AddMvc,则自动发现路由和终结点。 调用 AddMvcCore 时,必须显式调用 AddApiExplorer 方法。...UI 显示版本的信息如下所示: API Swagger添加描述 在 Program.cs 中注入XML相关描述: 注意:将 Swagger 配置为使用按照上述说明生成的 XML 文件。...,true表示显示控制器注释 options.IncludeXmlComments(xmlPath, true); }); 项目右键,选择属性,找到生成下面的输出选中生成包含API文档的文件,如下图所示...: 注意:关于XML文档文件路径是需要你先勾选上面生成包含API文档的文件的时候运行项目才会生成该项目的XML文档,然后可以把生成的XML文档放到你想要放到的位置。
前言 本文主要介绍如何使用Docker安装部署Swagger Editor并且结合Cpolar内网穿透工具实现远程访问,当然,这里是方便演示,所以在docker安装,有些在项目中已经集成了,也是一样的设置远程方式的方法...Swagger Editor远程访问的好处是您可以随时随地访问和编辑您的Swagger API文档,而不需要在本地安装Swagger编辑器。...运行容器,其中把容器的8080端口映射到宿主机的8088,这个端口可以自定义 docker run -p 8088:8080 -d swaggerapi/swagger-editor 运行后,在本地浏览器访问...远程访问Swagger Editor 使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Swagger Editor界面,这样一个公网地址且可以远程访问就创建好了,...固定Swagger Editor公网地址 由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。
最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。...1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”) 最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http://xxx/Swagger。但是没有接口的注释,下面添加接口注释 ? 项目属性->勾选生成xml文档文件 ?...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。 ? ...即可查看所有Api接口地址相关信息,Swagger正是借助于该方法导出所有接口信息,在结合xml文档添加相应注释文成接口描述文档的。
接口文档在前后分离的项目中是必不可少的一部分,文档的编写一直以来都是一件头疼的事情,写程序不写注释、不写文档这几乎是程序员的通病,Swagger2的产生给广大的程序员们带来了曙光,只需要在接口类或者接口的方法上添加注解配置.../zh-cn/docs/api-boot-swagger.html 创建示例项目 我们先来创建一个SpringBoot应用程序,在项目的pom.xml文件内添加ApiBoot的相关依赖,如下所示: <dependencies...所提供的配置参数都可以在application.yml文件内进行设置或修改默认值,下面是修改了版本号、标题的配置: # ApiBoot相关配置 api: boot: swagger:...运行测试 启动本章项目源码,访问:http://localhost:8080/swagger-ui.html 查看运行效果,如下图所示: image 当我们点击 "用户控制器" 时可以展开该Controller...本章并没有集成OAuth2,在执行在线调试时并不需要配置AccessToken。
使用 Swagger 集成文档具有以下几个优势: 功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能; 及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力...实现案例 接下来,我们就通过Spring Boot 来整合Swagger实现在线API文档的功能。 生成项目模板 为方便我们初始化项目,Spring Boot给我们提供一个项目模板生成网站。 1. ...使用IDE导入项目,我这里使用Eclipse,通过导入Maven项目的方式导入。 ? 添加相关依赖 添加 Maven 相关依赖,这里需要添加上WEB和SWAGGER依赖。 ...("1.0") .build(); } } 添加控制器 添加一个控制器,在工程下新建 controller包并添加一个 HelloController控制器。...添加请求参数 在很多时候,我们需要在调用我们每一个接口的时候都携带上一些通用参数,比如采取token验证逻辑的往往在接口请求时需要把token也一起传入后台,接下来,我们就来讲解一下如何给Swagger
之前我们在项目中配置swagger结合相关的注解来生成API文档界面,只是界面不是那么美观,还必须在每个接口控制器方法中添加很多的注解,代码侵入性比较强。...现在越来越多的开发人员使用Knif4j来生成API文档,它是升级版的swagger, 不仅具有美观的界面,而且不需要在控制器方法中添加非常多的参数注解。...启动vue-element-admin前端项目服务时在项目根目录下:右键->Git Bash Here 在弹出的命令控制台中输入命令npm run dev 然后回车 控制台出现如下日志信息代表启动成功...总结起来就一下四个步骤: pom.xml文件中引入knife4j-spring-boot-strater组件的起步依赖 配置swagger2文档Docket类bean,在接口扫描基础包中制定自己项目中控制器类所在的包名...重写WebMvcConfigurer#addViewControllers方法,添加文档文件doc.html视图 控制器类上添加@Api注解, 控制器中操作方法上添加@ApiOperation
1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”) 最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...,于是转向了第二种方案,经过大半天大捣鼓,最终效果如下 1.列出所有API控制器和控制器描述 2.列出action和描述 3.直观的接口测试 达到这几点目标,已经满足项目使用。...所以我采取了卸载Swagger.Net 删除多余的SwaggerUI文件夹 删除多余的配置类SwaggerNet 4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。 ...即可查看所有Api接口地址相关信息,Swagger正是借助于该方法导出所有接口信息,在结合xml文档添加相应注释文成接口描述文档的。
Api 接口项目中还是在别的类库下。...() }); } // 在 Swagger 文档显示的 API 地址中将版本信息参数替换为实际的版本号 s.DocInclusionPredicate...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...这里需要注意,因为我们需要在最终生成的 Swagger 文档中显示出我们对于 Controller 或是 Action 添加的注释信息,所以这里我们需要在 Web Api 项目的属性选项中勾选上输出 XML...从而实现对我们的 API 进行分析,首先我们需要将这个包添加到我们的 API 项目中。
但是在频繁的更新项目版本时很多开发人员认为即使修改描述文件(yml 或json)也是一定的工作负担,久而久之就直接修改代码,而不去修改描述文件了,这样基于描述文件生成接口文档也失去了意义。...@EnableSwagger2 添加此注解后表示对当前项目中全部控制器进行扫描。...四、Swagger-UI 使用 访问swagger-ui.html 后可以在页面中看到所有需要生成接口文档的控制器名称。 ? 每个控制器中间包含多所有控制器方法的各种访问方式。...3)添加自定义的NotIncludeSwagger 注解 在不需要生成接口文档的方法上面添加@NotIncludeSwagger 注解后,该方法将不会被Swagger 进行生成在接口文档中。...测试:添加该注解, 验证结果 ? 在进行测试时,一定要注意清除浏览器缓存(或切换浏览器)!不然可能看不到效果哦~~~ ?
Api 接口项目中还是在别的类库下。 ...() }); } // 在 Swagger 文档显示的 API 地址中将版本信息参数替换为实际的版本号 s.DocInclusionPredicate...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...这里需要注意,因为我们需要在最终生成的 Swagger 文档中显示出我们对于 Controller 或是 Action 添加的注释信息,所以这里我们需要在 Web Api 项目的属性选项中勾选上输出 XML...从而实现对我们的 API 进行分析,首先我们需要将这个包添加到我们的 API 项目中。
3.3 验证 至此,我们已经成功的在 Spring Boot 项目中集成了 Swagger2,启动项目后,我们可以通过在浏览器中访问 http://localhost:8080/ v2/api-docs...> 4.2 访问验证 其实就只需要添加一下依赖就可以了,我们重新启动一下项目,然后在浏览器中访问 http://localhost:8080/swagger-ui.html 就可以看到如下的效果了:...五、高级配置 5.1 文档相关描述配置 通过在控制器类上增加@Api 注解,可以给控制器增加描述和标签信息。...七、相关注解说明 在本章节中我将给出一些 Swagger 中常用的注解以及其常用的属性,并对其一一解释,方便您查看。 7.1 Controller 相关注解 @Api: 可设置对控制器的描述。...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。
验证 至此,我们已经成功的在 Spring Boot 项目中集成了 Swagger2,启动项目后,我们可以通过在浏览器中访问 http://localhost:8080/ v2/api-docs 来验证...集成 Swagger UI 添加依赖 和之前一样,集成的第一步就是添加相关依赖,在 pom.xml 中添加如下内容即可: 清单 5....高级配置 文档相关描述配置 通过在控制器类上增加@Api 注解,可以给控制器增加描述和标签信息。 清单 6....Controller 相关注解 @Api: 可设置对控制器的描述。 表 1. @Api 主要属性 注解属性 类型 描述 tags String[] 控制器标签。...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。
领取专属 10元无门槛券
手把手带您无忧上云