百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

.Net Core6.0 WebAPI项目框架搭建二:Swagger的使用

cac55 2024-10-11 11:03 13 浏览 0 评论

.net6创建项目的时候自带Swagger框架,但是缺少一些注释功能

接下来就是封装一些注册代码,注册代码要是都放在program.cs里面,会显得很乱,所以我给他做一个封装,然后program.cs里面只需要services.addxxx()就行了。

在API下面新建SetUp文件夹,新建静态类SwaggerSetUp.cs,再新建静态方法AddSwaggerSetup,用来注册Swagger服务

/// <summary>
    /// swagger启动服务
    /// </summary>
    public static class SwaggerSetUp
    {
        public static void AddSwaggerSetup(this IServiceCollection services)
        {
            if (services == null)
                throw new ArgumentNullException(nameof(services));
 
            var ApiName = "Web.Core";
 
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("V1", new OpenApiInfo
                {
                    // {ApiName} 定义成全局变量,方便修改
                    Version = "V1",
                    Title = #34;{ApiName} 接口文档——.NetCore 6.0",
                    Description = #34;{ApiName} HTTP API V1",
                });
                c.OrderActionsBy(o => o.RelativePath);
                
            });
 
        }
    }

然后在program.cs里面直接一句话注册就ok了

//注册swagger
builder.Services.AddSwaggerSetup();

编辑启动swagger的方法

if (app.Environment.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
 
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint(#34;/swagger/V1/swagger.json", #34;Web.Core.API V1");
 
    //路径配置,设置为空,表示直接在根域名(localhost:8001)访问该文件,注意localhost:8001/swagger是访问不到的,去launchSettings.json把launchUrl去掉,如果你想换一个路径,直接写名字即可,比如直接写c.RoutePrefix = "doc";
    c.RoutePrefix = "";
});

在 launchSettings.json 文件中的 launchUrl设置为空或删除

启动项目

添加接口注释

右键项目名称web.core.api,属性,生成,输出,勾选文档文件,自己填写相对路径

在SwaggerSetUp里面添加代码

services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("V1", new OpenApiInfo
                {
                    // {ApiName} 定义成全局变量,方便修改
                    Version = "V1",
                    Title = #34;{ApiName} 接口文档——.NetCore 6.0",
                    Description = #34;{ApiName} HTTP API V1",
                });
                c.OrderActionsBy(o => o.RelativePath);
 
                var xmlPath = Path.Combine(AppContext.BaseDirectory, "Web.Core.API.xml");//这个就是刚刚配置的xml文件名
                c.IncludeXmlComments(xmlPath, true);//默认的第二个参数是false,这个是controller的注释,记得修改
            });

这时候控制器会显示很多警告

在属性的错误与警告里面添加1591

给控制器加上注释,运行项目

右键解决方案,添加文件夹Model,新建类库项目

新建实体类Student.cs

    /// <summary>
    /// 学生表
    /// </summary>
    public class Student
    {
        /// <summary>
        /// id
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }
    }

添加model注释

右键项目名称web.core.model,属性,生成,输出,勾选文档文件,自己填写相对路径

SwaggerSetUp.cs中增加代码

var xmlModelPath = Path.Combine(AppContext.BaseDirectory, "Web.Core.Model.xml");//这个就是Model层的xml文件名
c.IncludeXmlComments(xmlModelPath);

在HomeController里面新建一个测试方法测试下实体类的注释

        /// <summary>
        /// 获取Student实体
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetStudent(Student student)
        {
            return Ok(student);
        }

运行项目之后发现实体类也有注释了

相关推荐

当SD卡/U盘一插入设备就提示格式化?可能导致的结果及解决方法。

编辑当SD卡一插入设备就提示格式化,通常意味着文件系统损坏或存储结构异常,但数据可能并未完全丢失。以下是可能的原因和恢复方法:一、为什么SD卡提示格式化?1、文件系统损坏突然断电、强制拔卡、病毒感染可...

sd卡格式化数据恢复(sd卡 格式化 恢复)

  在数字时代,SD卡作为我们存储照片、视频、文档等重要数据的便携设备,扮演着不可或缺的角色。然而,一旦不慎对SD卡进行了格式化操作,那些珍贵的记忆和数据似乎就在瞬间消失无踪。幸运的是,通过一些专业的...

怎样恢复内存卡数据(怎样恢复内存卡数据和文件)

  在数字时代,内存卡作为我们存储重要数据的便携设备,其安全性与数据恢复能力显得尤为重要。不慎删除文件、病毒感染或硬件故障都可能导致内存卡数据丢失,给个人和工作带来不便。本文将介绍几款国内外知名的数据...

sd卡损坏如何修复数据?sd卡修复方法详解

SD卡受损无法读取该怎么恢复?媒体从业者都知道,SD卡是数码相机、行车记录仪、摄像机等设备的文件存储器械。如果使用媒体设备的方式不正确,可能会导致内存卡损坏而无法正常读取文件。小编给大家分享5种简单好...

recovery功能详解,小白一秒变大神

一、说文解字1.Recovery是什么意思?相信这个问题难不住各位老鸟,recovery翻译过来就是“恢复”的意思,是开机后通过特殊按键组合(各个厂商各个型号不尽相同)能够进去的一个系统(工程模式),...

无法从SD卡中删除文件怎么办?(sd卡显示无法删除文件)

在使用SD卡时,有时我们会无法从SD卡中删除文件,那么这该怎么办呢?下面我们就一起来了解一下吧。方式1.检查SD卡(读卡器)上的写保护选项卡对于某些SD卡,SD卡的一侧可能有一个开关,并有标有Loc...

相机SD卡照片数据不小心全部删除了怎么办?有什么方法恢复吗?

前几天,小编在后台友收到网友反馈说他在整理相机里的SD卡,原本是想把那些记录着美好瞬间的照片导出来慢慢欣赏。结果手一抖,不小心点了“删除所有照片”,等他反应过来,屏幕上已经显示“删除成功”。那一刻,他...

Win10手机版系统分区拼接:减少空间不足错误

IT之家讯微软WinHec大会正在深圳如火如荼的进行中,在今天的大会中,微软为我们提供了更多关于Win10的相关信息。Win10手机预览版已经发布许久,相信许多用户都对其印象深刻,而第一版Win10...

SD卡打不开是怎么回事?SD卡打不开里面数据怎样恢复

SD卡已经成为了移动设备和数码相机中受欢迎的存储选项之一。但是使用过程中难免会遇到一些问题,例如SD卡突然打不开了,并且无法访问其中的数据。这种情况常常让人感到烦恼和无助。但是不要紧张,下面我们将介绍...

误删、格式化SD卡数据还能恢复吗?教你一招快速恢复

在我们的日常生活中,说到SD卡,相信使用相机的小伙伴都很熟悉,SD卡是一种便携式数据存储工具,独立小巧,价格低廉,方便用于存储和转移数据。为此大家常常用SD卡来存储各种珍贵的数据,如照片、视频、重要文...

内存卡数据恢复,四种恢复方法全解析

内存卡数据恢复,四种恢复方法全解析旅行归来,满心欢喜准备导出相机内存卡中的绝美风景照,却发现文件全部丢失;着急使用手机里内存卡储存的工作资料,打开却空空如也……类似的内存卡数据丢失场景,想必不少人都...

电脑删除的内存卡文件怎么找回?SD卡数据恢复,小白也能学会

电脑删除的内存卡文件怎么找回?SD卡数据恢复,小白也能学会在日常使用中,SD卡因其便携性和大容量,成为存储照片、视频、文件的常用设备。但不小心删除文件或遭遇数据丢失的情况也时有发生,别担心,本文就来...

手机老说sd卡存储空间满了,这如何处理

安卓手机显存已满是所有安卓机友的恶梦。轻则造成部份小型游戏难以进行,重则造成连收邮件这样的基本功能都难以运行。究其缘由,是由于手机会界定一部份固定的储存作为手机应用软件的数据储存,通常是/data或则...

在Windows操作系统中克隆SD卡的简单方法!

如今,在数据备份和传输方面,SD卡克隆软件发挥着重要作用。本文将向大家介绍一款好用的WindowsSD卡克隆软件,可以帮助你轻松将数据克隆到新卡中。为什么需要在Windows中进行SD卡克隆?在许多...

sd卡深度清理后怎样恢复数据?实用的三个方法

在现代社会,SD卡已经成为了我们生活中不可或缺的存储设备,从数码相机到智能手机,从平板电脑到电子阅读器,SD卡在其中起到了重要的作用。然而,当SD卡出现数据丢失的问题时,我们该如何应对呢?尤其是在进行...

取消回复欢迎 发表评论: