asp.net core webAPI学习笔记(二)连接SQL数据库并实现登录api

博客 分享
0 820
优雅殿下
优雅殿下 2021-10-13 11:45:53
悬赏:0 积分 收藏

本文档说明需在
asp.net core webAPI学习笔记(一) 创建WebAPI项目
的基础下进行

引入NuGet包 Entity Framework Core,因为使用的是SQL数据库,所以EFcore包含在了Microsoft.AspnetCore.App包中

一、修改appsettings.json,添加数据库连接字符串

  1. "ConnectionStrings": {
  2.     "SqlConn": "Server=localhost;Database=YuanMa;User ID=sa;Password=123456;"
  3.   }

二、创建S_user实体类

  1. public class S_user
  2. {
  3.     public int  Id {get; set; }
  4.     public string  Username {get; set; }
  5.     public string Password {get; set; }
  6.     public string Isdeleted {get; set; }
  7. }

三、创建DataContext类

  1. using Microsoft.EntityFrameworkCore;
  2. using Microsoft.Extensions.Configuration;
  3. namespace ApiTest.Models
  4. {
  5.     public class DataContext: DbContext
  6.     {
  7.         public DataContext() : base() { }
  8.         protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  9.         {
  10.             // 获取appsettings.json配置信息
  11.             var config = new ConfigurationBuilder()
  12.                             .SetBasePath(System.IO.Directory.GetCurrentDirectory())
  13.                             .AddJsonFile("appsettings.json")
  14.                             .Build();
  15.             // 获取数据库连接字符串
  16.             string conn = config.GetConnectionString("SqlConn");
  17.             //连接数据库
  18.             optionsBuilder.UseSqlServer(conn);
  19.         }
  20.         public DbSet S_user { get; set; }// 不区分大小写,名称必须与数据库表名相同
  21.     }
  22. }

四、创建User控制器

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using Microsoft.Extensions.Logging;
  7. using VueApi.Model;
  8. using VueApi.Common;
  9. using Newtonsoft.Json;
  10.  
  11. namespace VueApi.Controllers
  12. {
  13.     [ApiController]
  14.     [Route("api/[controller]")]
  15.     public class UserController : ControllerBase
  16.     {
  17.         // 登录验证
  18.         [Route("Login")]
  19.         [HttpPost]
  20.         public IActionResult Login(string username,string password)
  21.         {
  22.             using (var db = new DataContext())
  23.             {
  24.                 var msg="";
  25.                 var user = db.Set().Where(p=>p.Username==username).FirstOrDefault();
  26.                 if (user == null)
  27.                 {
  28.                     msg="此用户不存在!";
  29.                 }
  30.                 else
  31.                 {
  32.                     if(Utils.MD5(password)!=user.Password)
  33.                     {
  34.                         msg="密码不正确";
  35.                     }
  36.                     else{
  37.                         msg="登录成功!";
  38.                     }
  39.                 }
  40.                 return Ok(msg);
  41.             }
  42.         }
  43.  
  44.         //查询列表
  45.         [Route("Get")]
  46.         [HttpGet]
  47.         public List Get()
  48.         {
  49.             using (var db = new DataContext())
  50.             {
  51.                 return db.S_user.ToList();
  52.             }
  53.         }
  54.     }
  55. }

至此,asp.net core webAPI就能对接上sql server 数据库了,并且实现了用户登录验证方法和获取所有用户信息的api。

 

回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2011 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员