带有ASP.NET Core的dhtmlxGantt怎么实施Web API
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,本篇内容主要讲解"带有ASP.NET Core的dhtmlxGantt怎么实施Web API",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"带有ASP.NE
千家信息网最后更新 2025年02月07日带有ASP.NET Core的dhtmlxGantt怎么实施Web API
本篇内容主要讲解"带有ASP.NET Core的dhtmlxGantt怎么实施Web API",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"带有ASP.NET Core的dhtmlxGantt怎么实施Web API"吧!
实施Web API
现在该进行实际的REST API实施了。转到Startup.cs并启用MVC路由(如果尚未启用):
启动文件
public void ConfigureServices(IServiceCollection services){ services.AddMvc(); services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));} //The method is called by the runtime. Use it to configure HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseDefaultFiles(); app.UseStaticFiles(); app.UseMvc(); }
添加控制器
创建Controllers文件夹并创建三个空的API Controller:一个用于Tasks,另一个用于Links,另一个用于整个数据集:
任务控制器
让我们为Tasks创建一个控制器。它将为甘特任务定义基本的CRUD操作。
这个怎么运作:
在GET请求中,任务是从数据库中加载的,输出是任务的数据传输对象;
在PUT / POST请求中,任务作为WebAPITask类来自客户端。它们在dhtmlxGantt中以这种方式表示。因此,您应该将它们转换为EntityFramework(任务类)的数据模型的格式。之后,可以将更改保存在DatabaseContext中。
控制器/ TaskController.csusing System.Collections.Generic;using System.Linq;using Microsoft.EntityFrameworkCore;using Microsoft.AspNetCore.Mvc;using DHX.Gantt.Models; namespace DHX.Gantt.Controllers{ [Produces("application/json")] [Route("api/task")] public class TaskController : Controller { private readonly GanttContext _context; public TaskController(GanttContext context) { _context = context; } // GET api/task [HttpGet] public IEnumerableGet() { return _context.Tasks .ToList() .Select(t => (WebApiTask)t); } // GET api/task/5 [HttpGet("{id}")] public WebApiTask Get(int id) { return (WebApiTask)_context .Tasks .Find(id); } // POST api/task [HttpPost] public ObjectResult Post(WebApiTask apiTask) { var newTask = (Task)apiTask; _context.Tasks.Add(newTask); _context.SaveChanges(); return Ok(new { tid = newTask.Id, action = "inserted" }); } // PUT api/task/5 [HttpPut("{id}")] public ObjectResult Put(int id, WebApiTask apiTask) { var updatedTask = (Task)apiTask; var dbTask = _context.Tasks.Find(id); dbTask.Text = updatedTask.Text; dbTask.StartDate = updatedTask.StartDate; dbTask.Duration = updatedTask.Duration; dbTask.ParentId = updatedTask.ParentId; dbTask.Progress = updatedTask.Progress; dbTask.Type = updatedTask.Type; _context.SaveChanges(); return Ok(new { action = "updated" }); } // DELETE api/task/5 [HttpDelete("{id}")] public ObjectResult DeleteTask(int id) { var task = _context.Tasks.Find(id); if (task != null) { _context.Tasks.Remove(task); _context.SaveChanges(); } return Ok(new { action = "deleted" }); } }}
链接控制器
接下来,您应该为Links创建一个控制器:
控制器/LinkController.csusing System.Collections.Generic;using System.Linq;using Microsoft.EntityFrameworkCore;using Microsoft.AspNetCore.Mvc;using DHX.Gantt.Models; namespace DHX.Gantt.Controllers{ [Produces("application/json")] [Route("api/link")] public class LinkController : Controller { private readonly GanttContext _context; public LinkController(GanttContext context) { _context = context; } // GET api/Link [HttpGet] public IEnumerableGet() { return _context.Links .ToList() .Select(t => (WebApiLink)t); } // GET api/Link/5 [HttpGet("{id}")] public WebApiLink Get(int id) { return (WebApiLink)_context .Links .Find(id); } // POST api/Link [HttpPost] public ObjectResult Post(WebApiLink apiLink) { var newLink = (Link)apiLink; _context.Links.Add(newLink); _context.SaveChanges(); return Ok(new { tid = newLink.Id, action = "inserted" }); } // PUT api/Link/5 [HttpPut("{id}")] public ObjectResult Put(int id, WebApiLink apiLink) { var updatedLink = (Link)apiLink; updatedLink.Id = id; _context.Entry(updatedLink).State = EntityState.Modified; _context.SaveChanges(); return Ok(new { action = "updated" }); } // DELETE api/Link/5 [HttpDelete("{id}")] public ObjectResult DeleteLink(int id) { var Link = _context.Links.Find(id); if (Link != null) { _context.Links.Remove(Link); _context.SaveChanges(); } return Ok(new { action = "deleted" }); } }}
数据控制器
最后,您需要为数据操作创建一个控制器:
控制器/DataController.csusing System.Collections.Generic;using System.Linq; using Microsoft.AspNetCore.Mvc;using DHX.Gantt.Models; namespace DHX.Gantt.Controllers{ [Produces("application/json")] [Route("api/data")] public class DataController : Controller { private readonly GanttContext _context; public DataController(GanttContext context) { _context = context; } // GET api/data [HttpGet] public object Get() { return new { data = _context.Tasks.ToList().Select(t => (WebApiTask)t), links = _context.Links.ToList().Select(l => (WebApiLink)l) }; } }}
都准备好了。您可以运行该应用程序,并查看完整的Gantt。
到此,相信大家对"带有ASP.NET Core的dhtmlxGantt怎么实施Web API"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
控制器
控制
任务
数据
内容
实际
文件
学习
实用
更深
接下来
三个
兴趣
实用性
客户
客户端
对象
尚未
应用程序
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目税务优惠
windows桌面软件开发外包
计算机服务器配置低和高的区别
数据库中的表怎么分离
公司没有首席网络安全观
土壤类型图数据库
我的世界1.03服务器
新奥尔良服务器关闭
邮箱无法连接服务器
2020年一月网络安全大会
三星s21u锁屏无法连接服务器
易语言数据连接数据库
上海同森网络技术有限公司外汇
dcs的系统服务器要求配置
郑州新联华网络技术有限公司
学习网络技术的app软件
昆明学软件开发的五年制专科学费
免费个人云服务器我的世界
合肥蔚蓝软件开发招聘
正贸云数据库登录
俄罗斯网络安全知识
解读网络安全标语
无锡测试软件开发价格咨询
计算机数据库大题
1.7.2服务器ip大全
vs数据库录不进数据库
天翼云多ip买那服务器
c++即时通讯软件开发视频
南京大数据服务器代理厂家
永州网络技术有限公司