.net core3.0 webapi搭建(一)

一.创建WebApi项目:

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

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

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

二.配置Swagger插件

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

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

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

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

添加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
        }

View Code

编辑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
        }

View Code

启动项目,如图:

配置xml注释文件:

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

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

编辑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
        }

View Code

(0)

相关推荐

  • .Net之Swagger基础使用

    今天 以下文章来源于鹏祥 ,作者AZRNG 鹏祥分享.Net相关技术文章,一起学习一起成长 介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web ...

  • 基于.NetCore3.1系列 ——认证授权方案之Swagger加锁

    一.前言 在之前的使用Swagger做Api文档中,我们已经使用Swagger进行开发接口文档,以及更加方便的使用.这一转换,让更多的接口可以以通俗易懂的方式展现给开发人员.而在后续的内容中,为了对a ...

  • 基于.NetCore3.1系列 —— 使用Swagger做Api文档 (下篇)

    前言 回顾上一篇文章<使用Swagger做Api文档 >,文中介绍了在.net core 3.1中,利用Swagger轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终 ...

  • 详解Net Core Web Api项目与在NginX下发布

    前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目. 测试环境 操作系统:windows 10 开发工具:visual studio 2019 框架 ...

  • Asp.Net Core 中IdentityServer4 授权中心之应用实战

    一.前言 查阅了大多数相关资料,查阅到的IdentityServer4 的相关文章大多是比较简单并且多是翻译官网的文档编写的,我这里在 Asp.Net Core 中IdentityServer4 的应 ...

  • .NET core 使用Swagger

    一 为什么使用swagger swagger是一种API文档管理的框架 1.可以在代码中添加注释,且自动生成API文档,无需再次编写,友好的界面让API文档更易懂. 2.一站式服务,只需要访问swag ...

  • 第一章 开发体验

    目录 第一章 开发体验 一.Asp.Net Core应用程序 二.Asp.Net Core Mvc应用程序 一.Asp.Net Core应用程序 使用CLI创建控制台应用程序 dot new cons ...

  • 动手实现一个适用于.NET Core 的诊断工具

    今天 以下文章来源于全球技术精选 ,作者SpringLeee 全球技术精选dotnet 国内外新鲜技术资讯,优秀博客,开源项目分享平台 前言 大家可能对诊断工具并不陌生,从大名鼎鼎的 dotTrace ...

  • NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因

    认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...

  • 基于ASP.NET core的MVC站点开发笔记 0x01

    我的环境 OS type:macSoftware:vscodeDotnet core version:2.0/3.1 dotnet sdk下载地址:https://dotnet.microsoft.c ...