/SimpleUsers

User Register, Login, Get or Update UserInfo without asp.net core identity

Primary LanguageC#MIT LicenseMIT

一个简单的用户系统

以WebAPI方式实现了一个简单的用户系统,包括用户的注册、登录、获取或更新用户信息等功能。

  • 以用户系统为例的增改查操作(EF,数据库使用Sqlite)
  • API文档生成使用Swagger

关于.NET core的详细资料,建议看看.NET Core官方文档, 以及Introduction to ASP.NET Core

MIT授权

VS Code准备

此项目完全使用vs code开发。

安装如下扩展(一般打开过C#文件的话,前两个扩展应该安装好了)

创建步骤

注意:

  • 微软已发布dotnetcore 2.1,需要从2.0升级到2.1版,因为2.0并不是长期支持版本。
  • dotnet build貌似不会拷贝appSettings.json等配置文件到生成目录,需要用dotnet publish

如何使用dotnet cli可以参考官方文档

创建项目文件

  1. 创建核心类库
    dotnet new classlib -f netstandard2.0 -o SimpleUsers.Core
  2. 创建webapi项目
    dotnet new webapi -o SimpleUsers.WebAPI
  3. 添加引用关系(WebAPI引用Core)
    dotnet add SimpleUsers.WebAPI/SimpleUsers.WebAPI.csproj reference SimpleUsers.Core/SimpleUsers.Core.csproj
  4. 在项目文件中添加如下代码(以SimpleUsers.WebAPI项目为例),为项目启用XML的注释功能(方便Swagger制作API文档)
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
        <DocumentationFile>bin\Debug\netcoreapp2.1\SimpleUsers.WebAPI.xml</DocumentationFile>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
        <DocumentationFile>bin\Release\netcoreapp2.1\SimpleUsers.WebAPI.xml</DocumentationFile>
    </PropertyGroup>
  5. 为VS添加sln文件(可选)
    dotnet new sln
    dotnet sln SimpleUsers.sln add SimpleUsers.Core/SimpleUsers.Core.csproj SimpleUsers.WebAPI/SimpleUsers.WebAPI.csproj

为Core项目添加引用

  1. 添加EF Core
    dotnet add SimpleUsers.Core/SimpleUsers.Core.csproj package Microsoft.EntityFrameworkCore
  2. 添加dynamic支持
    dotnet add SimpleUsers.Core/SimpleUsers.Core.csproj package Microsoft.CSharp

为WebAPI项目添加引用

  1. 添加EF Core & Sqlite
    dotnet add SimpleUsers.WebAPI/SimpleUsers.WebAPI.csproj package Microsoft.EntityFrameworkCore.Sqlite
  2. 添加Swagger.net
    dotnet add SimpleUsers.WebAPI/SimpleUsers.WebAPI.csproj package Swashbuckle.AspNetCore
  3. 若EF版本与Core不一致,可以添加EF
    dotnet add SimpleUsers.WebAPI/SimpleUsers.WebAPI.csproj package Microsoft.EntityFrameworkCore

.net core

.net core 相比.net framework更加模块化。

  • 自带依赖注入(IServiceCollection)
  • 全新的程序配置方式(IConfiguration),支持多种文件格式配置以及环境变量配置等

单元测试

步骤:

  1. 创建单元测试文件夹
    mkdir SimpleUsers.Tests
  2. 添加单元测试项目以及引用Core类库
    cd SimpleUsers.Tests
    dotnet new xunit
    dotnet add reference ..\SimpleUsers.Core\SimpleUsers.Core.csproj
  3. 添加单元测试类
  4. 执行单元测试
    cd ..
    dotnet test

后续