• 【入门】.Net Core 6 WebApi 项目搭建


    一、创建项目

    1.1.创建新项目:打开开发工具>创建新项目>搜索API>选择C#语言的ASP.NET Core Web API

    1.2.配置新项目:**自定义项目信息以及存储路径

    1.3.其他信息:这里框架必须选择.NET 6.0,其他配置默认勾选即可,也可以根据自己的需求进行更改

    1.4.创建完成之后就得到了一个最基础的Core6项目框架代码


    Program.cs就是该项目程序的配置,在Core6中Program.cs 集成了 Startup.cs 的配置
    项目结构分析,.net6中删除了startup.cs,整合到了Program.cs

    创建Controller

    可以先将系统默认创建的WeatherForecastController.cs和WeatherForecast.cs进行删除,然后在controller文件夹新建一个控制器,命名:UserController.cs

     在UserController中增加一个Hello的get方式的接口方法,返回"你好世界",通过请求api/user/hello来获取该接口的结果

    1. using Microsoft.AspNetCore.Http;
    2. using Microsoft.AspNetCore.Mvc;
    3. namespace WebApplication1.Controllers
    4. {
    5. [Route("api/[controller]")]
    6. [ApiController]
    7. public class UserController : ControllerBase
    8. {
    9. [HttpGet("[action]")]
    10. public IActionResult SayHello()
    11. {
    12. return new JsonResult("Hello World");
    13. }
    14. }
    15. }

    点击运行后,开发工具会自动编译后启动。
    会生成一个exe文件并自动运行,运行成功后会打开浏览器进行查看

    总结

    其实项目的创建以及控制器的创建和 core3是一致,只是.Net Core 6 给我的感觉就是比以往的版本更精简。可以将Swagger在创建项目时直接生成,而不需要手动的去配置

    建立数据库连接(SQLServer)

    二、读取appsettings.json

    使用Nuget安装
    Microsoft.Extensions.Configuration
    Microsoft.Extensions.Configuration.Json
    Microsoft.Extensions.Configuration.Binder
    根据自己的开发环境选择合适的版本进行安装
     

    2.1、修改Program.cs
    ①在 var builder = WebApplication.CreateBuilder(args); 前增加

    1. using WebApplication1.Helper;
    2. //获取当前环境:提供两种方法
    3. //方法一
    4. //① var env = Environment.GetEnvironmentVariables();
    5. //从env中获取环境
    6. //② var envName = env["ASPNETCORE_ENVIRONMENT"];
    7. //方法二
    8. //var env2 = WebApplication.CreateBuilder().Environment.EnvironmentName;
    9. //读取配置文件
    10. //IConfiguration configuration = new ConfigurationBuilder().AddJsonFile($"appsettings.{env2}.json").Build();
    11. //读取配置文件
    12. IConfiguration configuration = new ConfigurationBuilder()
    13. .AddJsonFile("appsettings.json")
    14. .Build();
    15. var builder = WebApplication.CreateBuilder(args);
    16. // Add services to the container.
    17. builder.Services.AddControllers();
    18. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
    19. builder.Services.AddEndpointsApiExplorer();
    20. builder.Services.AddSwaggerGen();
    21. var app = builder.Build();
    22. // Configure the HTTP request pipeline.
    23. if (app.Environment.IsDevelopment())
    24. {
    25. app.UseSwagger();
    26. app.UseSwaggerUI();
    27. }
    28. app.UseHttpsRedirection();
    29. app.UseAuthorization();
    30. app.MapControllers();
    31. app.Run();

    ②在 var builder = WebApplication.CreateBuilder(args); 后增加

    1. using WebApplication1.Helper;
    2. //获取当前环境:提供两种方法
    3. //方法一
    4. //① var env = Environment.GetEnvironmentVariables();
    5. //从env中获取环境
    6. //② var envName = env["ASPNETCORE_ENVIRONMENT"];
    7. //方法二
    8. //var env2 = WebApplication.CreateBuilder().Environment.EnvironmentName;
    9. //读取配置文件
    10. //IConfiguration configuration = new ConfigurationBuilder().AddJsonFile($"appsettings.{env2}.json").Build();
    11. //读取配置文件
    12. IConfiguration configuration = new ConfigurationBuilder()
    13. .AddJsonFile("appsettings.json")
    14. .Build();
    15. var builder = WebApplication.CreateBuilder(args);
    16. builder.Services.AddSingleton(new Appsettings(configuration));
    17. // Add services to the container.
    18. builder.Services.AddControllers();
    19. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
    20. builder.Services.AddEndpointsApiExplorer();
    21. builder.Services.AddSwaggerGen();
    22. var app = builder.Build();
    23. // Configure the HTTP request pipeline.
    24. if (app.Environment.IsDevelopment())
    25. {
    26. app.UseSwagger();
    27. app.UseSwaggerUI();
    28. }
    29. app.UseHttpsRedirection();
    30. app.UseAuthorization();
    31. app.MapControllers();
    32. app.Run();

    ③读取
    appsettings.json 代码

    1. {
    2. "Logging": {
    3. "LogLevel": {
    4. "Default": "Information",
    5. "Microsoft.AspNetCore": "Warning"
    6. }
    7. },
    8. "AllowedHosts": "*",
    9. "AppSettings": {
    10. //数据库连接字符串
    11. "ConnectionString": "Server=127.0.0.1;User Id=用户id;Password=密码;Database=数据库名称;"
    12. }
    13. }

    1、新建控制器,配置api路由

    3 编写代码

    配置数据库连接

    在项目根目录下的 appsettings.json 文件中配置数据库连接信息。

    2、打开配置文件appsettings.json,配置连接SQLserver的账号和密码。

    1. {
    2. /*
    3. "ConnectionStrings": {
    4. "DefaultConnection": "Server=localhost;Database=MyInventorySystem;User ID=sa;Password=123456;Trusted_Connection=True;"
    5. },
    6. */
    7. // "Constr": "Data Source=127.0.0.1;Database=TestBase;Uid=sa;Pwd=123", //添加数据库的连接地址
    8. "Constr": "Data Source=aliworks.cn,57468;Database=DBAliTemp;Uid=test_db;Pwd=alibaba123456", //添加数据库的连接地址
    9. "Logging": {
    10. "LogLevel": {
    11. "Default": "Information",
    12. "Microsoft.AspNetCore": "Warning"
    13. }
    14. },
    15. "AllowedHosts": "*"
    16. }

    2.Core6中Program.cs 集成了 Startup.cs 的配置

  • 相关阅读:
    如何简单理解Q-learning强化学习算法
    1-5-10 快恢在数字化安全生产平台 DPS 中的设计与落地
    MATLAB M-Files
    速腾聚创80线激光雷达 ros1 驱动安装和线数屏蔽(亲测可用)
    c语言:将链表数据写入到文件,将数据读入链表
    【c ++ primer 笔记】第15章 面向对象程序设计
    RT-DETR算法优化改进:Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11
    springboot基于Java的电影院售票与管理系统毕业设计源码011449
    Redis常用命令
    此博客不在使用通知
  • 原文地址:https://blog.csdn.net/zgscwxd/article/details/133828635