欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

向net core 3.0进击——Swagger的改变

程序员文章站 2022-07-02 12:46:55
[toc] 前言 十一小长假在不知不觉间可都没了,在这个小尾巴的空隙,把这两天鼓捣的net core 3.0升级过程记录一下,首先还是根据之前的顺序一个个补充进来,先从Swagger的变化说起(新建工程什么的不多说了,就是选择的时候选3.0就可以了,2019新版更新后创建默认都是3.0)。 引入 按 ......

目录

前言

十一小长假在不知不觉间可都没了,在这个小尾巴的空隙,把这两天鼓捣的net core 3.0升级过程记录一下,首先还是根据之前的顺序一个个补充进来,先从swagger的变化说起(新建工程什么的不多说了,就是选择的时候选3.0就可以了,2019新版更新后创建默认都是3.0)。

引入

按之前的习惯,对于引入我是不会多说,一个链接(我自己之前引入那些截图)就给大家了,但是因为3.0属于比较新的版本,所以在引入的时候,有些注意点还是要标注下的。
向net core 3.0进击——Swagger的改变

在3.0中,我们会在startup这里发现,mvc没了统一替换成controllers,当然这并不影响我们使用,但是最关键的,我们用来实验的values木得了,取而代之的是一个挺不错的api的weatherforecast接口

引入之后,我们还复制我们之前的swagger配置内容来试试,会发现新版也针对类名,属性做了雪微的调整,这里直接一张图就可以看到。
向net core 3.0进击——Swagger的改变

            #region swagger
            services.addswaggergen(options =>
            {
                options.swaggerdoc("v1", new openapiinfo
                {
                    version = "v1.1.0",
                    title = "erp webapi",
                    description = "后台框架",
                    contact = new openapicontact() { name = "blank", email = "1829027193@qq.com", url = new uri("https://www.cnblogs.com/aprilblank/") }
                });
            });
            #endregion 

在使用注册引用的地方倒是没有变化。
向net core 3.0进击——Swagger的改变

            #region swagger
            app.useswagger();
            app.useswaggerui(options =>
            {
                options.swaggerendpoint("/swagger/v1/swagger.json", "apihelp v1");
                //如果设置根目录为swagger,将此值置空
                options.routeprefix = string.empty;
            });
            #endregion

注释这次也一步到位,当然也是没有太大的区别的。
首先,我们来生成xml文件。
向net core 3.0进击——Swagger的改变

然后,我们直接复制之前的配置内容即可。
向net core 3.0进击——Swagger的改变

            #region swagger
            services.addswaggergen(options =>
            {
                options.swaggerdoc("v1", new openapiinfo
                {
                    version = "v1.1.0",
                    title = "erp webapi",
                    description = "后台框架",
                    contact = new openapicontact() { name = "blank", email = "1829027193@qq.com", url = new uri("https://www.cnblogs.com/aprilblank/") }
                });
                // 为 swagger json and ui设置xml文档注释路径
                var basepath = path.getdirectoryname(appcontext.basedirectory);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
                var xmlpath = path.combine(basepath, "erp.api.xml");
                options.includexmlcomments(xmlpath);
            });
            #endregion 

全搞完之后,我们把默认路径直接指向根路径。
向net core 3.0进击——Swagger的改变

测试

唉,没有values以后测试可怎么过啊。

ok,我们来给默认创建的控制器写个注释。
向net core 3.0进击——Swagger的改变

所有整理完毕之后,我们直接运行程序,这时就会发现,新版的swagger对于默认界面也是做了些调整的。
向net core 3.0进击——Swagger的改变

小结

net core 3.0作为一个期待已久的版本,大统一的前景还是挺不错的,编程语言只是一个工具,没有好坏之分,所以无需纠结,你为何而编程,相信每个人心中都已有答案。