[Practice Note] 5.Abp入门:集成SwaggerUI,授权调用Webapi

基于.net8的webapi使用abp 首先引用volo.abp.core和volo.abp.asp.netcore.mvc,同样需要开启包括预发行版。然后在类上加上特性 [DependsOn(typeof(AbpAspNetCoreMvcModule))],此时就可以覆写OnApplicationInitialization,在此处可以配置管道。然后新建控制器就可以继承 AbpController。创建AppModule继承AbpMoudle,然后在program类里注册模块。此时最基础的abp就引用进来了。 阅读详情

Demo项目地址:https://download.youkuaiyun.com/download

创建实现业务接口

这里我们直接使用之前定义的接口 第四篇简单业务操作与工作单元

SwaggerUI

  1. 在xxx.WebApi项目中添加Swashbuckle引用
  2. 修改xxxwebapimodule.cs类
    在这里插入图片描述
namespace ABPTest.Api
{
    [DependsOn(typeof(AbpWebApiModule), typeof(ABPTestApplicationModule))]
    public class ABPTestWebApiModule : AbpModule
    {
        public override void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

            Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
                .ForAll<IApplicationService>(typeof(ABPTestApplicationModule).Assembly, "app")
                .Build();

            Configuration.Modules.AbpWebApi().HttpConfiguration.Filters.Add(new HostAuthenticationFilter("Bearer"));

            ConfigureSwaggerUI();
        }

        private void ConfigureSwaggerUI()
        {
            var xmlfile = string.Format("{0}/bin/Debug/ABPTest.Application.xml",System.AppDomain.CurrentDomain.BaseDirectory);

            Configuration.Modules.AbpWebApi().HttpConfiguration.EnableSwagger(_=>
                {
                    _.SingleApiVersion("V1", this.GetType().Namespace);
                    _.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
                    if (System.IO.File.Exists(xmlfile))
                        _.IncludeXmlComments(xmlfile);
                })
                .EnableSwaggerUi();
        }
    }
}

3.上述代码中的xmlfile对应为xxx.Application xml的生成路径
右键xxx.Application项目,选择属性,选择生成xml文档
在这里插入图片描述

完成上述配置后,启动web项目

调用http://localhost:端口/swagger/ui/index,就可以看到新增的服务接口
在这里插入图片描述

授权请求

Abp授权请求路径:http://localhost:61814/api/Account/Authenticate

对应abp项目响应代码
在这里插入图片描述
使用Postman post请求,返回token
在这里插入图片描述

测试授权调用接口

测试下上面swaggerui中的 api/services/app/mainconference/GetAllConference
在post请求头部加入Authorization,请求获得数据
在这里插入图片描述

使用Swashbuckle.AspNetCore.SwaggerGen 生成 ASP.NET Core2 WebAPI 在线文档 目录 Swagger的作用 怎么生成API文档 怎么生成文档中的注释说明? 文档中去调用API 隐藏想隐藏的API 接口分组 Swagger的作用 在我们开发WebAPI 时 通常需要为调用我们API的客户端提供说明文档。Swager 就是这样的一个 工具,它能生成漂亮的API文档和提供在线调用的页面。   Swashbuckle.AspNetCore 中分为3个组件,我们可以... 阅读详情

相关推荐

Web开发:ABP框架4——DDD四层架构的详解

四层架构实际上可以被视作:三层架构中业务逻辑层(BLL)进一步拆分的结果(应用层+领域层)

m0_67412019的博客 1959

abp vnext中swagger使用小结

文章目录介绍先决条件具体说明模块类添加Swagger配置类1、接口分组2、接口注释3、JWT认证的安全锁显示4、枚举注释的显示总结 介绍 现在大多工作中用到的后端开发都是基于RESTFUL的接口开发了,所以使用swagger进行接口管理也就成了比较默认的方式。最近相对比较有时间,所以觉得可以把在abp vnext中使用swagger的一些知识点进行一下总结。 先决条件 VS 2019 Abp VNext 的版本号:4.0.0 Swashbuckle.AspNetCore 版本号:5.5.0 Swashbu

寒冰屋的专栏 4508

vmware vsphere 证书过期告警处理方法

vSphere Clinet 管理页面出现“证书告警” ,检查证书未发现现有证书有过期现象

m0_51902127的博客 3638

Swagger 线上文档授权的几种方式

Swagger方便开发和联调,同时也会存在接口安全问题。所以在生产环境是禁止开放Swagger的,或者更严格一点,SIT、UAT都必须授权访问,Swagger安全方式通常有几种:在Swagger接口中添加认证授权机制,例如JWT令牌和OAuth2.0认证。使用Spring Security框架进行安全管理,针对Swagger接口添加相应的权限配置和拦截器。进行IP访问控制,只允许特定的IP地址访问Swagger接口。对Swagger接口进行加密,例如使用SSL证书或TLS协议进行数据加密传输。

weixin_38045727的博客 5560

vivado下ECO操作-不重新综合实现修改属性并生成.bit

ECO即engineer change order,即工程变更指令,可以对设计做局部小改动并只对改动部分重新布局布线并生成.bit。在一个工程动辄编译几个小时情况下,可以在调试中节省大量时间。比如我们在调试中,需要改变时钟占空比或者相位,需要改变寄存器初值等等,此时用ECO暂时改动,待验证后在重新编译无疑是最有效率的方法。 实现ECO通常有两种方式,一是通过vivado界面完成,另一种方法就是tcl脚本。所有的ECO操作都可以通过tcl操作完成,有的操作用vivado界面无法完成,只能通过tcl。以下主要

4657

Linux ELF文件解析:从file到readelf的完整工具链指南

ELF(可执行与可链接格式)是Linux系统中二进制文件的标准格式,定义了程序加载、内存布局和元数据组织方式。其核心原理在于通过程序头表描述执行视图、节区头表描述链接视图,实现代码与数据的结构化存储。这一格式的技术价值在于为程序调试、安全审计和性能优化提供了底层支持,尤其在动态链接、符号解析和内存保护机制中发挥关键作用。在应用场景上,系统管理员依赖ELF分析工具解决库依赖问题,安全研究员通过检查安全属性评估漏洞风险,开发者则利用反汇编进行代码调试。本文聚焦于file、readelf、objdump等工具链的

weixin_42691065的博客 635

ABP教程-给项目添加SwaggerUI,生成动态webapi

上一篇,我们是正式将ABP生成的代码项目,跑起来了,然后演示了下多租户的不同。那么这篇我们就来实现下SwaggerUI。 Q:SwaggerUI是干什么的呢? A:他是一个能将我们的webapi,通过Swagger Api来生成一个交互式的文档。通过他可以对你的接口进行调式。 1、引入Swashbuckle.core 选择PhoneBook.WebApi,然后添加nuget包(当然你也可以通过命令...

weixin_30613727的博客 588

制作一个完整的Shopify主题

Liquid是Shopify的模板语言,用于动态渲染页面内容。Liquid是Shopify的模板语言,用于动态渲染页面内容。Shopify主题包含多个文件和文件夹,包括布局、模板、部分、配置和资产文件夹。Shopify主题包含多个文件和文件夹,包括布局、模板、部分、配置和资产文件夹。准备好你的主题后,可以将其提交到Shopify主题商店。确保你的主题符合Shopify的质量标准和指南。准备好你的主题后,可以将其提交到Shopify主题商店。确保你的主题符合Shopify的质量标准和指南。

luckucu的博客 175

ABP官方文档(三十二)【集成Swagger UI】

5.4 ABP分布式服务 - 集成SwaggerUI5.4.1 简介从官网得知,开启Swagger,你可以获得一个交互式的文档,生成和发现客户端SDK。5.4.2 ASP.NET Core1. 安装你可以很容易的集成Swagger到基于ASP.NET Core的 ABP项目。2. 安装Nuget包安装 Swashbuckle nuget包到你的Web项目。3. 配置在 Startup.cs 文件中找

极客神殿 3385

提示词编写:从新手到专家的进阶之路

本文旨在为提示词编写者提供一条从新手到专家的进阶之路。我们将详细探讨提示词编写的背景与意义、基础与进阶技巧、实战应用以及最佳实践。通过逐步深入的分析与实操,读者将掌握提示词编写的核心要点,提高编写效率和作品质量。提示词是用于引导人工智能生成文本的关键词或短语,它包含了作者想要传达的主题、情感和细节。随着人工智能技术的普及,自动化写作工具逐渐应用于各行各业。为了提高写作效率,项目团队决定开发一款基于人工智能的自动化写作工具。成功开发了一款自动化写作工具,生成文本质量较高。

AI天才研究院 1087

从零开始讲DDR(8)——AXI 接口MIG 使用(1)

我们简单拆解了MIG AXI接口中测试文件的整体框架,首先在sim_tb_top.sv文件中例化了DDR模型和example_top。在example_top中,又例化了MIG IP和一个流量产生器ddr4_v2_2_8_axi_tg_top。在ddr4_v2_2_8_axi_tg_top中的主要功能是分别例化了boot_mode_gen,prbs_mode_gen,custom_mode_gen和axi_opcode_gen。

apple_53311083的博客 1590

ABP框架----写一个WebAPI

首先要从ABP官网下载一个模板 ASP.NET Core中选择哪一个模板都可以 由于不是使用webapi,现在只是在后台完成,所以模板的选择对写webapi是没有影响的,多页面还是单页面都可以 下载完模板,解压缩,打开解决方案。 (1)设置启动项,由于我们现在要实现webapi,所以将web.host设置成启动项,这样后面写的webapi就能看到了。 (2)还原NuGet包,右键解...

小幸运 2045

Android 13.0 USB 麦克风音频采集优化:解决延时、杂音和无声问题

摘要:本文针对Android智能会议设备中USB麦克风存在的三大问题(录音延时、概率性杂音和无声)进行了深入分析和优化。通过预填充静音帧降低90%启动延时,分离采集/播放互斥锁消除杂音,采用持久化配置解决无声问题,并新增状态通知机制提升用户体验。优化后测试显示:录音延时从1200-2000ms降至100-200ms,故障率降至0%,CPU占用降低30%。该方案适用于各类USB音频设备和视频会议系统,为低延时音频采集提供了可靠解决方案。

ip0417的博客 229

ABP 创建 webapi

有两个方法 一, Application层 代码如下:继承IApplicationService public class TestService : IApplicationService { public List<dynamic> Test() { List<dynamic> list = new List<dynamic>() { .

正怒月神的博客 1124

【系统架构设计师】预测试卷四:综合知识(75道选择题)

本文整理系统架构设计师考试高频考点,涵盖计算机系统基础、计算机网络、数据库、软件工程与UML四大模块,共28道典型题目。重点解析Cache局部性原理、RISC/CISC区别、TCP三次握手、B+树索引优势、CAP定理、螺旋模型特点等核心概念,并标注易错选项,帮助考生快速掌握解题思路。 关键词:系统架构、Cache、RISC、TCP、B+树、CAP定理、螺旋模型

数据知道的博客 546

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

.net6使用最小api(6)— 集成swagger扩展类方便直接拿用

前言1、使用最小api集成swagger实践,通过集成服务的注入方式,即可快速实现swagger界面展示2、可通过配置的方式,动态添加注释xml文件以往最小api配置实战文章:.net6使用最小api(1)——依赖注入Autofac之构造函数注入.net6使用最小api(2)——依赖注入Autofac之属性注入.net6使用最小api(3)— 自定义模型验证1.net6使...

hailang2ll的专栏 2283

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java第九篇反射和异常处理

上一篇已经介绍了C#类和java类的区别,由于工作原因经过三天的间断整理才合完,以备后面复习时对比。这里把发射单独做一篇讲解。 首先;当程序要使用某个类时,如果该类还未被加载到内存,则系统通过加载(通过类加载器完成),连接,初始化实现对这个类的加载。加载:就是指将class文件读入内存,并为之创建一个Class对象,任何类被使用时都会建立一个Class对象。连接:验证:是否有正确的内部结构,并和...

程序员的博客 2223

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ABP学习实践(五)--引入Swagger对API接口进行管理

以目前流行的前后端分离模式来看,ABP框架更适用于后端开发,而对API接口的管理就成了一项必不可少的功能。 1.安装Swashbuckle.AspNetCore 使用Nuget管理器在分布式服务层和展现层AbpDemo.Web安装Swashbuckle.AspNetCore程序包,包含Swashbuckle.AspNetCore.Swagger、Swashbuckle.AspNetCore.Sw...

lordwish的专栏 3682

ABP 用swagger UI测试API报401无权限访问问题

问题描述: 当我们用swagger UI对Web API 进行测试时报401错误 我们点开GET /api/services/app/Role/GetAll,输入参数 点击Try it out!按钮,报401错误 原因和解决方案 查看右上角有个红色感叹号的图标 点击查看原因是访问API需要输入授权token值进行验证,token值是后台根据登录用户动态生成的,如...

weixin_30797199的博客 1405

Web开发:ABP框架5——入门级别的常见问题和报错解析

API模块种补上代码,当然也可以直接字符串写死 xmlFile = " Acme.BookStore.HttpApi.Host.xml " ,怎么命名都好,总之,xmlFile这个文件名和上面步骤一设置的文件名一致。,因为有时候返回出去的是yyyy-MM-dd而不是完整的时间,因此我觉得用tostring方法手动调整,返回字符串出去 或者让前端处理,或许会更好)原因:底层代码接口未注入到依赖容器,服务找不到这个底层代码接口。(注意:我觉得日期格式化,虽然上面的方法可以解决问题,但是。

m0_67412019的博客 2296

ABP源码分析三十五:ABP中动态WebAPI原理解析

动态WebAPI应该算是ABP中最Magic的功能之一了吧。开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能,这应该算是对DRY的最佳诠释了. 如下图所示,一行代码就为所有实现了IApplicationService的类型,自动创建对应的动态WebAPI. 这么Magic的功能是如何实现的呢? 本文为...

weixin_33816821的博客 311

构建Web API服务

返回总目录《一步一步使用ABP框架搭建正式项目系列教程》 构建动态Web API控制器 ABP可以自动地为应用层生成Web API 层。比如说我们之前创建的应用层: namespace Noah.ChargeStation.Application.CitiesApp { public interface ICityAppService:IApplicationServic...

weixin_34360651的博客 431

ABP-SwaggerUI集成

项目结构如图: WebApi 层通过Nuget包引入Swashbuckle.Core.dll 然后在SampleTaskSystemWebApiModule模块类文件中加入如下方法: 在模块初始化函数中加入: 以上操作基本完成Abp-Swagger的集成 有一下几点需要注意: 1、添加SwaggerUI文档注释 右键单击Application层-属性 点击生成 给...

weixin_30347009的博客 241

ABP动态生成WebAPI

ABP框架可以动态生成WebApi,开发人员无需创建APIController,直接继承IApplicationService接口,即可对外发布webApi。 创建动态Web Api 控制器 例如,在Service层有一个ITestService接口,如下: public interface ITestService : IApplicationService { ...

bangchiyu4233的博客 812

ABP学习一(.Net6 API 整合 ABP)

创建.Net 6 API 项目NuGet添加引用 这两个引用Volo.Abp.AspNetCoreVolo.Abp.Swashbuckle添加Module类里面的代码/// <summary>/// API模块/// </summary>[DependsOn(typeof(AbpAspNetCoreModule), typeof(AbpSwashbuckleModule))]public class ABPStudyApiModule : AbpModule{ public o

炫爱小七的博客 847
上一篇: [Practice Note] 4.Abp入门:应用层实现简单的业务操作以及工作单元使用
下一篇: [Practice Note] 1.OAuth四种授权模式实现
Gen??
博客等级 码龄7年 24粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值