.NET Core API框架实战(一) 创建项目并集成Swagger

目录

1、1:创建.NET Core API框架

1、2:集成Swagger

1、3:搭建完整的项目结构

1:创建.NET Core API框架

选择Web>.NET Core>ASP.NET Core Web 应用程序

选择API 确定即可

2:集成Swagger

1、使用PM>Install-Package Swashbuckle.SwaggerUi.Master -Version 6.0.0-T2016120822

2、使用Nuget项目管理工具 搜索Swashbuckle.SwaggerUi 勾选包括预发行版

打开程序主入口Startup 配置swagger

这时候我们发现,直接AddSwaggerGen是找不到该方法,因为我们还要添加Nuget包;

调用程序包管理器控制台 PM>Install-Package Swashbuckle.AspNetCore -Version 3.0.0

使用过Swagger 的朋友应该都知道,Swagger还有一个很强大的功能就是呈现注释,那我们要如何解析xml中的注释呢?

第一步:右击我们的项目,进入属性>生成>XML文档文件  保存

第二步:代码如下  

using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.PlatformAbstractions;
using Swashbuckle.AspNetCore.Swagger;

namespace Dianshi.P2P.Core.JPush.WebApi
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            // Add Swagger UI.
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info
                {
                    Version = "v1",
                    Title = "JPushAPI",
                    Description = "A simple example ASP.NET Core Web API",
                    TermsOfService = "None",
                    Contact = new Contact { Name = "旺仔小舒舒的博客", Email = "", Url = "https://blog.csdn.net/qq_35193189" },
                });
                c.IncludeXmlComments(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "Dianshi.P2P.Core.JPush.WebApi.XML")); // 注意:此处替换成所生成的XML documentation的文件名。
                c.DescribeAllEnumsAsStrings();
            });
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseMvc();
            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "JPush.WebApi V1");
            });
        }
    }
}

这时候我们发现 PlatformServices 找不到?这是因为我们缺少程序包;

打开程序包管理器控制台:PM>Install-Package Microsoft.Extensions.PlatformAbstractions -Version 1.1.0

3、搭建完成的项目结构

写过接口的朋友应该都知道,当接口偏多的时候,我们把所有接口堆积到Controllers中,看起来非常乱;如果想要找到某个Controllers那是非常负责的;说到这里,我们马上想到的是分组,没错,就是创建区域;

这是我们默认的结构,熟悉我们把Controllers删除,右键项目>添加区域

输入区域名:例如 权限管理(AuthorizationManage) 销售管理(SaleManage)等等;

此时的目录结构就非常清楚,团队开放个人负责的模块很清晰;

那么问题又来了,那路由需要我们自己配置吗?微软都为我们考虑到了,.NET Core 路由配置更为简单;

Route 默认指定是controller  自己也可以修改到action 

api/[controller]/[action]

是不是非常简单呢?是的,很简单

最后我们在配置一下默认启动页面吧;

打开 Properties>launchSettings.json

将api/values 修改为:swagger/index.html

哈哈哈哈,希望此文档对你们有所帮助;

最后 我们运行项目吧;Ctrl+F5 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值