.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

相关新闻

最新新闻

2、场景检测模型原理

2、场景检测模型原理

场景检测——ISP的"环境感知器"先理解一个类比:场景检测就像自动烹饪机的食材识别——把食材放进去,机器先识别出这是牛排、三文鱼还是西兰花,然后自动选择对应的烹饪程序(火候、时间、调料)。ISP也完全一样…

2026/9/7 15:58:45
单片机计算机毕设之基于 STM32 或 51 单片机的语音提示安防垃圾桶系统设计 基于 STM32 或 51 单片机的危险投放检测智能垃圾桶设计与实现(025006)

单片机计算机毕设之基于 STM32 或 51 单片机的语音提示安防垃圾桶系统设计 基于 STM32 或 51 单片机的危险投放检测智能垃圾桶设计与实现(025006)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/7 15:58:45
1、AI-ISP管道集成方式

1、AI-ISP管道集成方式

下面这张表罗列了几种主流的集成架构:直插式:模型与ISP模块硬连接先理解一个类比:直插式就像把一台独立的水质检测仪强行接入自来水管的主干道——水流必须先经过检测仪,测完才能继续往下流。如果检测仪处理得慢,后面的…

2026/9/7 15:58:45
Linux pwd命令详解:-L与-P参数、符号链接及脚本实战

Linux pwd命令详解:-L与-P参数、符号链接及脚本实战

刚接触Linux那会,我特别不理解为啥敲个pwd还有那么多讲究,不就是打印当前目录嘛。直到有一次在脚本里拼路径,因为没搞清楚pwd -P和pwd -L的区别,把日志输出位置搞错了,排查了半天才回过神。从那以后我就明白&#xff0…

2026/9/7 15:58:44
NFC吉他项链:碰一下秒切歌的智能周边全解析

NFC吉他项链:碰一下秒切歌的智能周边全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/7 15:58:44
MiniMax H3 ComfyUI 双模工作流:导演台与 Ref2VA 从部署到实战

MiniMax H3 ComfyUI 双模工作流:导演台与 Ref2VA 从部署到实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/7 15:53:44