首页
学习
活动
专区
圈层
工具
发布

ABP框架使用拦截器动态配置租户过滤器

前言 最近项目要求在ABP框架中根据TenantId是否为空来配置是否禁用租户过滤器。...如果直接从类引用(例如ASP.NET MVC或Web API控制器)中调用方法,则该方法应为虚拟方法。 一种方法应该是虚拟的,如果它的保护。...也就是如果将服务作为客户端的Web API控制器公开,那么方法必须是虚方法(virtual) 附上官方Git issues https://github.com/aspnetboilerplate/...aspnetboilerplate/issues/3237 最后一步就是把拦截器在模块文件中初始化 public class ApplicationCoreModule : AbpModule {...转载是一种动力 分享是一种美德 如果喜欢作者的文章,请关注【麦扣聊技术】订阅号以便第一时间获得最新内容。

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【swagger】C# 中 swagger 的使用及避坑

    3 显示说明 swagger 可以读取代码中的注释,并显示在网页上。如此一来,我们只需要在代码中将注释写好,就可以生成一份可供他人阅读的 API 文档了。...swagger 是通过编译时生成的 xml 文件来读取注释的。这个 xml 文件默认是不生成的,所以先要修改配置。 第一步: 右键项目 -> 属性 -> 生成,把 XML 文档文件勾上。 ?...在 App_Start 中新建类 SwaggerControllerDescProvider,代码如下: /// /// swagger 显示控制器的描述 /// 的,因为 web api 在返回数据时,调用的默认序列化方法也是 Newtonsoft.Json 序列化。...7 传递 header 调用 api 时,有些信息是放在 HTTP Header 中的,例如 token。这个 swagger 也是支持的。

    8.7K21

    (翻译)开始使用ABP.CORE模板 (ASP.NET Core with Angular)

    在官网完成创建和下载你的项目后,跟随后面的步骤来运行你的应用。 下载地址: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

    3.9K20

    测试向:利用 libfaketime 便捷修改系统时间

    开源项目地址:https://github.com/wolfcw/libfaketime 这个开源项目是 C 写的,必须每次去执行,就在思考能不能直接通过 API 直接去动态操作,就不用重启服务并且更加便捷...前提准备 首先要先在容器里安装 libfaketime 依赖,如果容器使用的基础镜像和宿主机一样也可以直接宿主机安装和了之后映射进容器使用。... * 本控制器通过动态配置的路径操作 libfaketime 配置文件,实现不重启服务的情况下动态修改系统感知时间。...path.toFile().setReadable(true, false); } 这样在测试的时候就可以针对性在界面上跳转到指定时间,或者通过倍速时间达到快速时间流逝从而尽可能的覆盖所有测试用例...容器部署映射 在容器部署的时候需要添加上环境变量统一使用一个共享文件。

    11210

    在Sitecore8.2解决方案中使用Swagger作为API管理工具

    使用Swagger 使用Swagger为Web API生成良好的文档和帮助页面就像添加NuGet包一样简单。 只要Sitecore仍然是一个asp.net应用程序,我们就可以使用Swagger!...所以我实现了一个Web API控制器,我希望在我的Sitecore实例中托管它并以某种方式记录它: namespace Feature.WebApi.Controllers { using System.Web.Http...现在我将使用nuget将Swagger安装到我的Feature.Swagger项目中: install-package Swashbuckle 默认的nuget包将在/App_Start/SwaggerConfig.cs...但是,Sitecore有很多自己使用的Web API服务,很难找到我自己的服务。将Sitecore本机Web API控制器与我的分离是很好的。...它支持API版本控制,从我的角度来看,这是我们如何分离它的方法之一。我们可以向SwaggerConfig添加一个方法,该方法将声明API的版本。

    38710

    Springboot集成Swagger2

    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给关闭 防止接口暴露 (安全)

    37710

    .NET WebAPI 使用 GroupName 对 Controller 分组呈现 Swagger UI

    在日常开发 webapi 时,我们往往会集成 swagger doc 进行 api 的文档呈现,当api数量比较多的时候就会导致 swagger ui 上的 api 因为数量太多而显得杂乱,今天教大家如何利用... ApiDescriptionGroups 进行循环依次添加多个 Swagger Doc, 然后关于本文目的的 swagger 配置就完成了。...上面讲的方法需要对所有的控制器进行添加 [ApiExplorerSettings(GroupName = "xxxxx")] 属性,下面顺便介绍一下如何通过文件的归类对 控制器进行批量添加 GroupName...我们可以调整我们的控制器存放为文件夹,将同一个组的控制器放在一个文件夹中,示例如下图 调整存放路径之后,利用 vs 的 同步命名空间功能,选中项目,直接右击 同步命名空间,就可以把所有控制器的命名空间都调整过来...,命名空间的最后一节其实就是我们文件夹的名称,也就是我们的 GroupName,如下:  然后我们可以利用 IControllerModelConvention 在项目启动时获取控制器命名空间的最后一节的值

    1.4K40

    .NET WebAPI 实现 接口版本控制并打通 Swagger支持

    我们在开发 webapi 项目时如果遇到 api 接口需要同时支持多个版本的时候,比如接口修改了入参之后但是又希望支持老版本的前端(这里的前端可能是网页,可能是app,小程序 等等)进行调用,这种情况常见于...是一个自定义的 Swagger 配置方法,主要用于根据 api 控制器上的描述用来循环添加不同版本的 SwaggerDoc; SwaggerOperationFilter 是一个自定义过滤器主要实现SwaggerUI...如下图的两个控制器 ​ 这样就配置好了两个版本的 UserController 具体控制器内部的代码可以不同,然后运行 项目观察 Swagger UI 就会发现如下图: ​ 可以通过 SwaggerUI...下面衍生讲解一下如果 项目中有部分 api 控制器并不需要版本控制,是全局通用的如何处理,有时候我们一个项目中总会存在一些基础的 api 是基本不会变的,如果每次 api 版本升级都把所有的 控制器都全部升级显然太过繁琐了...只要在这些控制器头部添加 [ApiVersionNeutral] 标记即可,添加了 [ApiVersionNeutral] 标记的控制器则表明该控制器退出了版本控制逻辑,无论 app 前端传入的版本号的是多少

    1.6K40

    五分钟教你上手swagger

    一,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.

    1.8K40

    MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

    如果你的 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文档放到你想要放到的位置。

    1.8K20

    如何使用Docker安装Swagger Editor并实现与团队成员共享和协作编辑文档

    前言 本文主要介绍如何使用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小时内会随机变化,不利于长期远程访问。

    51700

    webapi文档描述-swagger

    最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。...1.微软自带的Microsoft.AspNet.WebApi.HelpPage  2.swagger(我比较喜欢戏称为“丝袜哥”)       最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http://xxx/Swagger。但是没有接口的注释,下面添加接口注释 ?  项目属性->勾选生成xml文档文件 ?...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。 ?   ...即可查看所有Api接口地址相关信息,Swagger正是借助于该方法导出所有接口信息,在结合xml文档添加相应注释文成接口描述文档的。

    2.2K90

    Spring Boot:整合Swagger文档

    使用 Swagger 集成文档具有以下几个优势: 功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能; 及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档,省心省力...实现案例 接下来,我们就通过Spring Boot 来整合Swagger实现在线API文档的功能。 生成项目模板 为方便我们初始化项目,Spring Boot给我们提供一个项目模板生成网站。 1. ...使用IDE导入项目,我这里使用Eclipse,通过导入Maven项目的方式导入。 ? 添加相关依赖 添加 Maven 相关依赖,这里需要添加上WEB和SWAGGER依赖。  ...("1.0") .build(); } }  添加控制器 添加一个控制器,在工程下新建 controller包并添加一个 HelloController控制器。...添加请求参数 在很多时候,我们需要在调用我们每一个接口的时候都携带上一些通用参数,比如采取token验证逻辑的往往在接口请求时需要把token也一起传入后台,接下来,我们就来讲解一下如何给Swagger

    1.2K10

    使用Swagger2作为文档来描述你的接口信息

    接口文档在前后分离的项目中是必不可少的一部分,文档的编写一直以来都是一件头疼的事情,写程序不写注释、不写文档这几乎是程序员的通病,Swagger2的产生给广大的程序员们带来了曙光,只需要在接口类或者接口的方法上添加注解配置.../zh-cn/docs/api-boot-swagger.html 创建示例项目 我们先来创建一个SpringBoot应用程序,在项目的pom.xml文件内添加ApiBoot的相关依赖,如下所示: 的配置参数都可以在application.yml文件内进行设置或修改默认值,下面是修改了版本号、标题的配置: # ApiBoot相关配置 api: boot: swagger:...运行测试 启动本章项目源码,访问:http://localhost:8080/swagger-ui.html 查看运行效果,如下图所示: image 当我们点击 "用户控制器" 时可以展开该Controller...本章并没有集成OAuth2,在执行在线调试时并不需要配置AccessToken。

    64220

    SpringBoot项目集成knif4j,从此告别手写Api文档

    之前我们在项目中配置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

    6K20

    webapi文档描述-swagger

    1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”) 最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...,于是转向了第二种方案,经过大半天大捣鼓,最终效果如下 1.列出所有API控制器和控制器描述 2.列出action和描述 3.直观的接口测试 达到这几点目标,已经满足项目使用。...所以我采取了卸载Swagger.Net 删除多余的SwaggerUI文件夹 删除多余的配置类SwaggerNet 4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。   ...即可查看所有Api接口地址相关信息,Swagger正是借助于该方法导出所有接口信息,在结合xml文档添加相应注释文成接口描述文档的。

    1.5K10

    Swagger技术(接口文档实时动态生成工具)

    但是在频繁的更新项目版本时很多开发人员认为即使修改描述文件(yml 或json)也是一定的工作负担,久而久之就直接修改代码,而不去修改描述文件了,这样基于描述文件生成接口文档也失去了意义。...@EnableSwagger2 添加此注解后表示对当前项目中全部控制器进行扫描。...四、Swagger-UI 使用 访问swagger-ui.html 后可以在页面中看到所有需要生成接口文档的控制器名称。 ? 每个控制器中间包含多所有控制器方法的各种访问方式。...3)添加自定义的NotIncludeSwagger 注解 在不需要生成接口文档的方法上面添加@NotIncludeSwagger 注解后,该方法将不会被Swagger 进行生成在接口文档中。...测试:添加该注解, 验证结果 ? 在进行测试时,一定要注意清除浏览器缓存(或切换浏览器)!不然可能看不到效果哦~~~ ?

    16.2K22
    领券