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

news/2024/5/19 23:24:22 标签: .netcore

一、创建项目

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来获取该接口的结果

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class UserController : ControllerBase
    {

        [HttpGet("[action]")]
        public IActionResult SayHello()
        {
            return new JsonResult("Hello World");
        }



    }
}

点击运行后,开发工具会自动编译后启动。
会生成一个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); 前增加


using WebApplication1.Helper;


//获取当前环境:提供两种方法
//方法一
//① var env = Environment.GetEnvironmentVariables();
//从env中获取环境
//② var envName = env["ASPNETCORE_ENVIRONMENT"];
//方法二
//var env2 = WebApplication.CreateBuilder().Environment.EnvironmentName;
//读取配置文件
//IConfiguration configuration = new ConfigurationBuilder().AddJsonFile($"appsettings.{env2}.json").Build();

//读取配置文件


IConfiguration configuration = new ConfigurationBuilder()
                            .AddJsonFile("appsettings.json")
                            .Build();



var builder = WebApplication.CreateBuilder(args);







// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

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


using WebApplication1.Helper;


//获取当前环境:提供两种方法
//方法一
//① var env = Environment.GetEnvironmentVariables();
//从env中获取环境
//② var envName = env["ASPNETCORE_ENVIRONMENT"];
//方法二
//var env2 = WebApplication.CreateBuilder().Environment.EnvironmentName;
//读取配置文件
//IConfiguration configuration = new ConfigurationBuilder().AddJsonFile($"appsettings.{env2}.json").Build();

//读取配置文件


IConfiguration configuration = new ConfigurationBuilder()
                            .AddJsonFile("appsettings.json")
                            .Build();




var builder = WebApplication.CreateBuilder(args);


builder.Services.AddSingleton(new Appsettings(configuration));




// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

③读取
appsettings.json 代码

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",

  "AppSettings": {
    //数据库连接字符串
    "ConnectionString": "Server=127.0.0.1;User Id=用户id;Password=密码;Database=数据库名称;"
  }


}

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

3 编写代码

配置数据库连接

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

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

{


  /*
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=MyInventorySystem;User ID=sa;Password=123456;Trusted_Connection=True;"
  },
*/
  // "Constr": "Data Source=127.0.0.1;Database=TestBase;Uid=sa;Pwd=123", //添加数据库的连接地址

  "Constr": "Data Source=aliworks.cn,57468;Database=DBAliTemp;Uid=test_db;Pwd=alibaba123456", //添加数据库的连接地址

  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },

  "AllowedHosts": "*"




}

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


http://www.niftyadmin.cn/n/5089429.html

相关文章

__builtin_return_address()函数的使用方法

__builtin_return_address(0) 是GCC编译器提供的内置函数,用于获取当前函数调用栈中的指定帧(frame)的返回地址。这个函数通常用于调试和性能分析,以了解程序中的函数调用关系。 下面是关于 __builtin_return_address(0) 函数的一…

TLP2168

学习记录一下TLP2168 光耦(Optocoupler)是一种将电气信号转换为光信号再转换回电气信号的装置。它通常由一个发光二极管(LED)和一个光敏三极管(Phototransistor)或光敏二极管组成。光耦在电子电路中起到隔…

MR混合现实模拟消防安全演练场景实训

混合现实(MR)是一种将虚拟世界与真实世界相结合的技术。它允许教师将数字元素融入实际场景,使学生在亲身体验中学习消防安全知识。这种方式不仅可以激发学生的学习兴趣,还能增强学生的记忆效果。 在MR的助力下,消防安全…

数据结构学习系列之双向链表的三种插入方式

头插法:在双向链表的头结点和第0个结点之间插入新结点,即头插法,代码如下:示例代码: int insert_dplink_list_1(node_t *phead,int data){if(NULL phead){printf("入参为NULL\n");return -1;}//创建新结点n…

B2R靶机渗透

B2R靶机渗透 视频参考:ajest :https://www.zhihu.com/zvideo/1547357583714775040?utm_id0 原文参考:ajest :https://www.zhihu.com/column/c_1403138803561816064 文章目录 B2R靶机渗透1 启动靶机,查看后网卡为ma…

Marin说PCB之CoilcraftBourns POC 电感的性能对比

十一小长假本来是一件美好事情。可是天有不测风云,小编我却有祸兮来了。本来是公司的硬件同事强哥要回以色列了,最近他们国家那边都在打仗,强哥本着舍身为国的精神回国抗战去了。小编我就想着在他回国之前搞了篮球比赛送别一下他呢&#xff0…

gpt4.0和3.5区别在哪里:什么样的人适合使用gpt4.0?

GPT-4和GPT-3.5相比,就像是智能手机的新一代和上一代。升级了,功能多了,但核心都是让你的工作和生活更便捷。 联网能力 GPT-3.5:与世隔绝,不联网。 GPT-4:5月17日后能上网浏览,信息获取能力加…

【LeetCode刷题(数据结构)】:对称二叉树

给你一个二叉树的根节点 root 检查它是否轴对称 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 提示&#xff1a; 树中节点数目在范围 [1, 1000] 内 -100 < Node.val < 100 对称二叉…