.NET6 搭建webapi项目 .NET6 搭建webapi项目1. 创建项目保持默认选项点击创建即可创建webapi项目2. 修改返回数据的时间格式修改时间格式nuget安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson只需要在Program.cs 文件下添加几行代码找到 builder.Services.AddControllers()代码如下builder.Services.AddControllers().AddNewtonsoftJson(options{options.SerializerSettings.DateFormatStringyyyy-MM-dd HH:mm:ss;//格式化时间});修改后的效果3. 开启Swagger 注释打开Xml文件生成右键项目进入属性设置取消未进行注释而进行提示的警告然后Progarm.cs 添加如下代码builder.Services.AddSwaggerGen(options{//获取xml文件名称varxmlFileName${Assembly.GetExecutingAssembly().GetName().Name}.xml;//包含注释,第二个参数表示是否显示控制器注释options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory,xmlFileName),true);});在测试控制器中添加注释进行测试4. 添加版本控制首先创建一个枚举类namespaceMES.API{/// summary/// API版本枚举/// /summarypublicenumAPIVersion{/// summary/// v1版本/// /summaryv1,/// summary/// v2版本/// /summaryv2,}}然后Progarm.cs 添加如下代码 ://显示多个文档typeof(APIVersion).GetEnumNames().ToList().ForEach(version{//添加文档介绍options.SwaggerDoc(version,newOpenApiInfo{Title工厂MES系统项目,Versionversion.ToString(),Description$工厂MES系统项目:{version}版本});});还有下面的代码//版本切换app.UseSwaggerUI(options{typeof(APIVersion).GetEnumNames().ToList().ForEach(version{options.SwaggerEndpoint($/swagger/{version}/swagger.json,$版本选择:{version});});});在测试控制器方法中添加版本控制特性运行测试效果5. 安装EF Core相关的依赖包注意版本Microsoft.EntityFrameworkCore6.0.14Microsoft.EntityFrameworkCore.Design6.0.14Microsoft.EntityFrameworkCore.Tools6.0.14Pomelo.EntityFrameworkCore.MySql6.0.26. 配置DbContext1、新建一个SqlDbContext类继承DbContext数据上下文类2、构造函数注入DbContextOptions使用:base()语法传入DbContextOptions到基类/// summary////// /summary/// param nameoptions数据库连接字符串/parampublicSqlDbContext(DbContextOptionsoptions):base(options){}3、关于EF Core性能优化重写OnConfiguring函数protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder){//全局关闭EF Core数据跟踪optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);//关闭所有查询的状态跟踪//optionsBuilder.UseLazyLoadingProxies(); //启用延迟加载base.OnConfiguring(optionsBuilder);}四、Program.cs 启动类1、配置DbContext数据库连接字符串#regionWebApi项目配置builder.Services.AddDbContextSqlDbContext(options{varconnectionStringconfiguration.GetConnectionString(strConn);varserverVersionServerVersion.AutoDetect(connectionString);// MySqloptions.UseMySql(connectionString,serverVersion);});#endregion2、注意这里的连接字符串是从appsetting.json文件中获取的ConnectionStrings节点下的strConn//数据库连接字符串ConnectionStrings:{strConn:serverlocalhost;port端口号;database数据库名称;uid账号;password密码;},7. 生成数据库1、首先打开SqlDbContext.cs类添加以下属性publicvirtualDbSetPicturePictures{get;set;}1.首先执行添加迁移add-migration CreateTable_v1.02.然后执行update-database无报错无异常那么我们的数据库就生成成功了Picture表同样创建成功参考地址https://www.yii666.com/blog/402342.html

相关新闻

最新新闻

文心一言与豆包能力边界:任务驱动的AI选型指南

文心一言与豆包能力边界:任务驱动的AI选型指南

1. 这不是“选哪个更便宜”的问题,而是你手头的活儿到底需要什么能力文心一言、豆包——这两个名字现在几乎天天出现在办公群、内容创作组和产品经理晨会里。我从去年开始系统性地把它们嵌进日常工作流:写周报用豆包搭框架,改客户方案用文心一…

2026/7/4 10:56:04
AI模型泛化与安全防御实战指南

AI模型泛化与安全防御实战指南

1. 项目概述:当AI安全遇上模型泛化 在AI安全攻防领域,蓝队(防御方)与红队(攻击方)的对抗从未停止。最近遇到一个典型案例:某金融风控模型在测试集上准确率高达98%,实际部署后却频繁误…

2026/7/4 10:56:04
GPT-4 Turbo与GPT-4.1工程选型指南:能力、成本与稳定性权衡

GPT-4 Turbo与GPT-4.1工程选型指南:能力、成本与稳定性权衡

1. 项目概述:GPT-4、GPT-4 Turbo 与 GPT-4.1 —— 不是版本号游戏,而是能力断层与工程现实的三重分水岭你刚在技术群看到一条消息:“GPT-4.1发布了,上下文100万Token!”——手一抖点开链接,发现下面还挂着一…

2026/7/4 10:56:04
多通道ADC与STM32L4R9AI的高精度信号采集方案

多通道ADC与STM32L4R9AI的高精度信号采集方案

1. 项目背景与核心需求 在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与实时监测系统一直是关键基础设施。传统方案面临三大痛点:通道数量受限(通常不超过32路)、同步精度不足(纳秒级误差)、以及…

2026/7/4 10:56:04
量子纠缠检测:原理、技术与工程实践

量子纠缠检测:原理、技术与工程实践

1. 量子纠缠检测的核心价值与工程意义 量子纠缠作为量子计算中最独特的物理资源,其检测与量化直接决定了量子算法的可行性和设备可靠性。在实际工程中,纠缠检测绝非单纯的学术概念验证,而是贯穿量子系统全生命周期的关键技术环节。 为什么工…

2026/7/4 10:56:04
告别百度网盘提取码烦恼:智能工具5秒极速破解的完整方案

告别百度网盘提取码烦恼:智能工具5秒极速破解的完整方案

告别百度网盘提取码烦恼:智能工具5秒极速破解的完整方案 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#…

2026/7/4 10:51:04

周新闻

月新闻