找回密码
 会员注册
查看: 137|回复: 0

ASP.NET Core微服务(一)——【完整API搭建及访问过程】

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962990
发表于 2024-2-29 08:51:13 | 显示全部楼层 |阅读模式

ASP.NET Core微服务(一)——【完整API搭建及访问过程】:

环境:win10专业版+vs2019+sqlserver2014/2019

对应练习demo下载路径(1积分):【https://download.csdn.net/download/feng8403000/15134527】

对应练习sql下载路径(0积分):【https://download.csdn.net/download/feng8403000/15134699】

1、创建API项目

2、项目层级以及作用

3、引入数据库·这里采用的是sqlserver2014版本,如果是2019以上版本,数据库连接的地址请勿使用【127.0.0.1】,或者用【.】通用即可

3.1、添加NuGe程序包

3.2、添加4个需要的包

安装步骤:

四个包如上安装即可,查看是否安装成功

3.3、通过【工具】->【NuGet包管理器】->【程序包管理器控制台】

自动连接写法·sqlserver2019【Data Source=.】

Scaffold-Dbcontext 'Data Source=127.0.0.1;Initial Catalog=数据库name;Integrated Security=True;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context 自定义nameContext

密码链接写法·sqlserver2019【Data Source=.】

Scaffold-Dbcontext 'Data Source=127.0.0.1;Initial Catalog=数据库name;User Id=用户名assword=密码;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context 自定义nameContext

这样,我们就有了可以操作的EF对象了。

4、添加【Startup.cs】服务配置

命名空间需求:

  1. using Microsoft.EntityFrameworkCore;
  2. using WebApiDemo.Models;
复制代码

所需代码:

  1. services.AddDbContext<Girl1804Context>(options =>
  2.             {
  3.                 options.UseSqlServer(Configuration.GetConnectionString("Girl1804DB"));
  4.             });
复制代码

添加位置:

【appsetting.json】配置文件配置:

配置字符串: 

  1. "ConnectionStrings": {
  2.     "Girl1804DB": "Data Source=127.0.0.1;Initial Catalog=girl1804;Integrated Security=True;"
  3.   },
复制代码

配置位置:

账号密码的方式:【Data Source=服务器地址;Initial Catalog=数据库name;User Id=用户名assword=密码;】

5、EF,通过构造方法注入测试

5.1、添加【api控制器】

5.2添加构造方法注入EF生成的类【Girl1804Context】

5.3、配置路由【[Route("api/[controller]/[action]")]】以及创建查询测试EF

  1. public object GetInfo() {
  2. return db.GirlSixes.ToList();
  3. }
复制代码

5.4、启动项目,并访问【api接口】,路径为:【http://localhost:5000/api/Test/GetInfo】

【Ctrl+F5】启动

查看浏览器:默认打开路径应为【http://localhost:5000/weatherforecast】

输入:【http://localhost:5000/api/Test/GetInfo】进行数据访问测试。

6、增加函数【Add】·在【TestController】内完成

  1. /// <summary>
  2. /// 添加方法
  3. /// </summary>
  4. /// <param name="nickName"></param>
  5. /// <param name="introduce"></param>
  6. /// <returns></returns>
  7. public bool Add(string nickName,string introduce) {
  8. GirlSix g = new GirlSix();
  9. g.Id = System.Guid.NewGuid().ToString("N");
  10. g.CreateDate = DateTime.Now;
  11. g.NickName = nickName;
  12. g.Introduce = introduce;
  13. db.GirlSixes.Add(g);
  14. int rows = db.SaveChanges();
  15. return rows > 0 ?true:false;
  16. }
复制代码

 

7、修改【SelectById】&【Update】函数·在【TestController】内完成

  1. /// <summary>
  2. /// 单个查询
  3. /// </summary>
  4. /// <param name="id"></param>
  5. /// <returns></returns>
  6. public object SelectById(string id) {
  7. return db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
  8. }
  9. /// <summary>
  10. /// 修改方法
  11. /// </summary>
  12. /// <param name="id"></param>
  13. /// <param name="nickName"></param>
  14. /// <param name="introduce"></param>
  15. /// <returns></returns>
  16. public bool Update(string id,string nickName, string introduce) {
  17. GirlSix girlSix = db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
  18. if (girlSix == null) {
  19. return false;
  20. }
  21. girlSix.NickName = nickName;
  22. girlSix.Introduce = introduce;
  23. int rows = db.SaveChanges();
  24. return rows > 0 ? true : false;
  25. }
复制代码

 

8、删除函数【Del】·在【TestController】内完成

  1. /// <summary>
  2. /// 删除方法
  3. /// </summary>
  4. /// <param name="id"></param>
  5. /// <returns></returns>
  6. public bool Del(string id) {
  7. GirlSix girlSix = db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
  8. if (girlSix == null)
  9. {
  10. return false;
  11. }
  12. db.GirlSixes.Remove(girlSix);
  13. int rows = db.SaveChanges();
  14. return rows > 0 ? true : false;
  15. }
复制代码

 

9、postman测试·【Ctrl+F5】启动后,根据对应的接口路径进行测试。

9.1查询所有测试:

9.2、增加测试

9.3、修改测试

 

9.4、删除测试

10、总结

a)、EF包4个,别错喽

b)、根据对应的数据库使用对应的引入方式,本地用直接连,远程用账号密码连。

c)、在ASP.NET Core中引入的EF如果要使用多表联合查询建议使用Linq进行操作。

d)、在修改操作时直接SaveChanges操作即可。

希望此文对大家有所帮助,后续会编写

ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】、

ASP.NET Core微服务(三)——【跨域配置】、

ASP.NET Core微服务(四)——【静态vue使用axios解析接口】、

ASP.NET Core微服务(五)——【vue脚手架解析接口】、

ASP.NET Core微服务(六)——【redis操作】、

ASP.NETCore微服务(七)——【docker部署linux上线】

等文章。

此文标题为ASP.NET Core微服务(一)——【完整API搭建及访问过程】

 

请关注,后续内容很快更新。


来源:https://blog.csdn.net/feng8403000/article/details/113751632
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 12:56 , Processed in 2.089750 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表