系列目录

一.  创建项目并集成swagger

  1.1 创建

  1.2 完善

二. 搭建项目整体架构

三. 集成轻量级ORM框架——SqlSugar

  3.1 搭建环境

  3.2 实战篇:利用SqlSugar快速实现CRUD

  3.3 生成实体类

四. 集成JWT授权验证


先从目的说起:

该系列欲从零开始,以.NET Core为框架,搭建出一个功能完善的WebApi框架。实现后台管理系统、前台系统和App系统的统一管理。

该框架欲集成Swagger作为接口显示文档,集成SqlSugar作为数据库操作ORM,集成LayUI作为后台管理系统前端框架,集成支付宝和微信的SDK实现支付功能;

实现接口权限验证功能,实现从后台管理系统无代码化的自动生成实体类、自动生成基础的增删改查接口、自动生成基础版的后台管理页面;

然后这一系列是我在搭建代码的同时同步编写的,一方面是当做备忘记录,一方面也是一种自己对自己的激励。

所以以下内容会充斥着大量的自言自语,自说自话,请做好心理准备~

愿望很美好,但还是要从最基础的功能开始写起。

既然说了是从零开始,那就从新建项目开始吧~

新建一个ASP.NET Core Web应用程序,取名为RayPI。

这里选择API模板

生成项目之后,控制器默认生成了一个ValuesController,里面只有几个简单的RESTful风格的接口,分别对应增删改查的功能,没有涉及到数据库数据,只是给我们作为参考而已。

我们可以直接F5进入调试运行状态,默认调用的是values的获取集合接口,结果是这样的:

这是一个最基础、最原生的“光秃秃”的.NET Core API环境,离我们想要的API框架还很远,但是其实已经成功一半了,因为好的开始是成功的一半~

接下来,我们要在项目里集成Swagger插件。

Swagger是一个API接口文档帮助插件,使用它,可以将我们编写的接口自动生成一个规范化的文档,其他开发人员(主要是负责的对接接口的前端人员)就可以通过浏览器访问对应的地址,查看接口的相关信息。

当然,swagger也提供了基础的测试功能,这个下一章再讲~

下面开始引入swagger插件

方法有两个:

1)可以去swagger官网或github上下载源码,然后将源码(一个类库)引入自己的项目;

2)直接利用NuGet包添加程序集应用。

因为很少有需要更改swagger源码的需求,所以这里我们选择比较简单的第二种方法。

依次点击 工具=>NuGet包管理器=>管理解决方案的NuGet程序包

在弹出的页面中,搜索“Swashbuckle.AspNetCore”,然后勾选RayPI项目(如果解决方案里有多个类库,只需要勾选主项目,也就是包含控制器的项目),点击安装

安装完成之后,在项目的依赖项里可以看到多出了一个引用

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

下面添加服务:

打开Startup.cs类,编辑ConfigureServices类

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(); #region Swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Version = "v1.1.0",
Title = "Ray WebAPI",
Description = "框架集合",
TermsOfService = "None",
Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "RayWang", Email = "2271272653@qq.com", Url = "http://www.cnblogs.com/RayWang" }
});
});
#endregion
}

编辑Configure类

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseMvc(); #region Swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
});
#endregion
}

到这,已经完成swagger的添加,F5运行调试,在域名后面输入/swagger,点击回车

可以看到,swagger将我们项目的接口(这里只有一个系统默认生成values接口)自动生成一个可视化的接口文档,点击对应接口,可以查看接口的相关信息,也可以在当前页进行简单的测试调用。

本章我们一起从零开始搭建了基于.NET Core 的API原生环境,并且简单地集成了swagger插件。

下一章,我们将对swagger进行进一步的详细设置。

【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建的更多相关文章

  1. 【从零开始搭建自己的.NET Core Api框架】(三)集成轻量级ORM——SqlSugar:3.1 搭建环境

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  2. 【从零开始搭建自己的.NET Core Api框架】(七)授权认证进阶篇

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  3. 【从零开始搭建自己的.NET Core Api框架】(四)实战!带你半个小时实现接口的JWT授权验证

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  4. 【从零开始搭建自己的.NET Core Api框架】(五)由浅入深详解CORS跨域机制并快速实现

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  5. 【从零开始搭建自己的.NET Core Api框架】(二)搭建项目的整体架构

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  6. 【从零开始搭建自己的.NET Core Api框架】(六)泛型仓储的作用

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  7. 从零开始搭建自己的.NET Core Api框架-1目录

    https://www.cnblogs.com/RayWang/p/9216820.html 系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. ...

  8. 0.从零开始搭建spring mvc + mybatis + memcached+ dubbo\zookper的maven项目

    1.首先创建maven 项目,配置相关pom信息 2.配置spring mvc 4, 测试,提交代码 3.引入配置mybatis3,测试,提交代码 4.配置事务,测试,提交代码 5.配置memcach ...

  9. JavaWeb项目中集成Swagger API文档

    1.增加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-sw ...

随机推荐

  1. struts2第一章-基本用法

    一.struts简介 1.回顾 MVC M-model模型层 V-view 视图层  前端界面 C-controller 控制层 struts2: Apache提供的开源的控制层框架,相当于servl ...

  2. ubuntu下 将证书导入java的cacerts证书库

    首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts 主要的步骤有4个: 生成证书 导出证书 导入证书 生成证书(此处CN的值为localhost或者你想设置的 ...

  3. B. Menci 的序列

    题解: 首先subtask1直接状压暴力就好 subtask2我的处理和题解不太一样 仍然正向考虑 设i的时候有最高位为j,那么这个时候数一定越大越好(这个比较好yy) 然后$f[i][j]$搞个高精 ...

  4. 【ES6】Generator+Promise异步编程

    一.概念 首先我们要理解Generator和Promise的概念. Generator:意思是生成器,可以在函数内部通过yeild来控制语句的执行或暂停状态. *Foo(){ yeild consol ...

  5. python3和grpc的微服务探索实践

    对于微服务的实践,一般都是基于Java和Golang的,博主最近研究了下基于Python的微服务实践,现在通过一个简单的服务来分析Python技术栈的微服务实践 技术栈:Python3 + grpc ...

  6. webstorm调试

    webstorm调试nodejs    https://www.cnblogs.com/dogharry/p/4335157.html webstorm调试js   https://www.cnblo ...

  7. notes for python简明学习教程(1)

    print总是以(\n)作为结尾,不换行可以指定一个空 end='' 字符串前面+r, 原始字符串 \ 显示行连接 input()函数以字符串的形式 返回键入的内容 函数参数, 有默认值的形参要放在形 ...

  8. 如何在电脑上配置两个tomcat

    问题 准备逐渐转向idea的怀抱了,每次部署项目时和eclipse使用的都是同一个tomcat,这是很大的隐患,并且非常的不方便,遂再配置一个tomcat 1.下载tomcat和配置系统变量 CATA ...

  9. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...

  10. java做图片点击文字验证码

    https://blog.csdn.net/qq_27721169/article/details/82769093