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

.net core3.0 webapi搭建(一)

程序员文章站 2022-06-22 10:49:08
一.创建WebApi项目: 生成项目之后,控制器默认生成了一个WeatherForecastController 我们可以直接启动项目,F5调试,默认进入WeatherForecastController控制器,结果: 到这里最原始的webapi环境已经配置好了! 二.配置Swagger插件 插件可 ......

一.创建webapi项目:

 .net core3.0 webapi搭建(一)

 

 

 .net core3.0 webapi搭建(一)

 

 

 生成项目之后,控制器默认生成了一个weatherforecastcontroller

.net core3.0 webapi搭建(一)

 

 我们可以直接启动项目,f5调试,默认进入weatherforecastcontroller控制器,结果:

.net core3.0 webapi搭建(一)

 

 到这里最原始的webapi环境已经配置好了!

 

 

二.配置swagger插件

插件可以从去swagger官网或github上下载源码,然后将源码(一个类库)引入自己的项目;也可以直接利用nuget包添加程序集应用。这里我们选择第二种

.net core3.0 webapi搭建(一)

 

 在弹出的页面中,搜索“swashbuckle.aspnetcore”,(如果解决方案里有多个类库,只需要勾选主项目,也就是包含控制器的项目),点击安装(注意事项:我这里用的环境是.netcore 3.0 所以在选择包的时候一定要勾选包括预发行版,5.0.0-rc5

.net core3.0 webapi搭建(一)

 

 

 

 安装完之后在项目的依赖项里看下是否安装成功。

这时如果运行调试,在域名后面输入/swagger,会发现swagger还没有起作用,因为还没有在项目的启动项里添加swagger服务。

.net core3.0 webapi搭建(一)

 

 添加swagger 配置:

打开startup.cs类,编辑configureservices类(区别于.netcore 2.0)

 public void configureservices(iservicecollection services)
        {
            services.addcontrollers();
            #region swagger
            services.addswaggergen(c =>
            {
                c.swaggerdoc("v1", new openapiinfo
                {
                    version = "v1.1.0",
                    title = "webapi",
                    description = "webapi"

                });
               

            });
            #endregion
        }

编辑configure类(注释部分看你自己选择是否默认访问根目录)

public void configure(iapplicationbuilder app, iwebhostenvironment env)
        {
            if (env.isdevelopment())
            {
                app.usedeveloperexceptionpage();
            }

            app.usehttpsredirection();

            app.userouting();

            app.useauthorization();

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

启动项目,如图:

.net core3.0 webapi搭建(一)

配置xml注释文件:

.net core3.0 webapi搭建(一)

 

 

 保存之后,你会看见所有类名和方法名会出现警告信息:

.net core3.0 webapi搭建(一)

 

 

 只需要在上面把注释加上去即可

编辑startup.cs,修改configureservices函数:

 public void configureservices(iservicecollection services)
        {
            services.addcontrollers();
            #region swagger
            services.addswaggergen(c =>
            {
                c.swaggerdoc("v1", new openapiinfo
                {
                    version = "v1.1.0",
                    title = "webapi",
                    description = "webapi",
                });

                // 为 swagger json and ui设置xml文档注释路径
                var basepath = path.getdirectoryname(appcontext.basedirectory);//获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
                var xmlpath = path.combine(basepath, "mywebapi.xml");
                c.includexmlcomments(xmlpath);
            });
            #endregion
        }

.net core3.0 webapi搭建(一)

 

 

.net core3.0 webapi搭建(一)