网上看了一些Abp vNext引用swagger的教程,大致流程都差不多,就是生成每一层对应的xml然后使用IncludeXmlComments方法来引用,后面亲自实践发现有些差异和要点,在此记录一下。

基本步骤:

  1. 右击项目解决方案,属性-生成-输出-勾选XML文档文件,删除路径信息仅保留xml文件名称。例如:xxx.Application.xml。
  2. hostmodule下,AddSwaggerGen内添加以下代码:
     1 context.Services.AddSwaggerGen(options=> {
     3     // 添加swagger-API方法注释
     4     var xmlapppath = Path.Combine(AppContext.BaseDirectory, "xxx.Application.xml");
     5     if (File.Exists(xmlapppath))
     6         options.IncludeXmlComments(xmlapppath, true);
     7
     8     // 添加swagger-DTO参数注释
     9     var xmlContractspath = Path.Combine(AppContext.BaseDirectory,"xxx.Application.Contracts.xml");
    10     if (File.Exists(xmlContractspath))
    11         options.IncludeXmlComments(xmlContractspath, true);
    12
    13     // 添加swagger-自定义控制器注释
    14     var xmlapipath = Path.Combine(AppContext.BaseDirectory, "xxx.WebAPI.xml");
    15     if (File.Exists(xmlapipath))
    16         options.IncludeXmlComments(xmlapipath , true);
    17 });

  3. 引用路径不要采用本地路径,可以使用AppContext.BaseDirectory来拼接地址以避免发布时遇到问题。
  4. xxx.Application.xml添加引用后可以生成API方法注释,但是并没有DTO参数注释,因为dto定义都在应用服务抽象层,需要添加xxx.Application.Contracts.xml后才会有参数注释。
  5. 因为一般使用的是动态API,如果你有自定义的controller方法,需要添加xxx.HttpApi.xml进来才能看到自定义控制器方法的注释。
  6. 配置生成XML文件时,注意配置release环境下的输出,不要只配Debug模式

Abp vNext swagger注释相关推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场

    基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场 转载于:https://github.com/Meowv/Blog.git 在程序员界,总有一批强迫 ...

  2. abp vnext中swagger使用小结

    文章目录 介绍 先决条件 具体说明 模块类添加 Swagger配置类 1.接口分组 2.接口注释 3.JWT认证的安全锁显示 4.枚举注释的显示 总结 介绍 现在大多工作中用到的后端开发都是基于RES ...

  3. 基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组、描述、小绿锁

    基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组.描述.小绿锁 https://github.com/Meowv/Blog 在开始本篇正文之前,解决一个 @ ...

  4. Abp VNext 项目创建简介

    文章目录 简介 项目创建 关于 module 项目的简单说明 简单优化项目 1.移动端项目删除 2.*.sln.DotSettings 3.*.HttpApi.Host 的调整 4.*.HttpApi ...

  5. .NET 6 之 ABP vNext 初体验

    马上国庆了,dotNative 预祝大家假期愉快,Happy National Day! 本文将介绍在 .net6 平台的 asp.net core webapi 框架中,如何使用 abp vnext ...

  6. 基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录

    基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录 转载于:https://github.com/Meowv/Blog 在开始之前,我们实现一个之前的遗留问题,这个 ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - 用AutoMapper搞定对象映射

    基于 abp vNext 和 .NET Core 开发博客项目 - 用AutoMapper搞定对象映射 转载于:https://github.com/Meowv/Blog 本篇紧接着来玩一下AutoM ...

  8. 基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型

    基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型 转载于:https://github.com/Meowv/Blog 在实际开发过程中,每个公司可能不尽 ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查

    基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查 转载于:https://github.com/Meowv/Blog 本篇说一下自定义仓储的实现方式,其实在ab ...

  10. 基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先

    基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先 转载于:https://github.com/Meowv/Blog 本篇主要使用Entity Framework ...

最新文章

  1. win server2008搭建ftp服务器
  2. JMeter打开jmx文件出错CannotResolveClassException: org.apache.jmeter.protocol.ssh.sampler.SSHCommandSampler
  3. Ubuntu12.04安装小记
  4. [论文翻译] Estimation of Image Rotation Angle Using Interpolation-Related Spectral Signatures
  5. 360深度实践:Flink 与 Storm 协议级对比
  6. 草根学Python(十四) 一步一步了解正则表达式
  7. 【POJ 3348】Cows【凸包裸题】
  8. java drawline_JAVA drawLine()方法怎么用?
  9. 如何给论文添加参考文献
  10. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2021年11月份最新版)
  11. C#WinForm中的太空侵略者
  12. CentOS7下安装配置zookeeper集群及设置开机自启
  13. Vue3 Echarts散点图+高德地图+卫星地图(一)——获取高德地图API
  14. org.neo4j.ogm.exception.MappingException: Error mapping GraphModel to instance of ***.ProjectGraph
  15. Java修改框架源码
  16. 两大公链相继发生变故,公链故事难再续?
  17. 微信撤回视频服务器还有吗,微信更新又来了,这次终于不会把撤回和删除搞错了...
  18. deepin系统安装后检测不到声卡,无声音
  19. Vue源码系列4:模拟实现vue3.x中的计算属性
  20. 杭州萧山机场使用阿里云ET航空大脑 ,人证安检只用3秒、一月揪出5人

热门文章

  1. 软件测试最牛的8本书籍—你有读过吗?
  2. C#编写一个控制台程序,输入一个日期,输出这一天是星期几。
  3. 2021信息安全工程师学习笔记(二十四)
  4. 整理出的安卓国家码,简称,语言的Json文件,可以一一对应国旗
  5. Misra-Gries 算法
  6. STM32F103标准库函数驱动max30102心率血氧模块
  7. DIV布局鲜花超市网站设计——鲜花超市(4页) HTML+CSS+JavaScript HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作
  8. Python打包exe程序太大的解决方法
  9. 64位win10专业版下载地址
  10. mariaDB安装与配置