ASP.NET MVC-api增删改查

ASP.NET MVC-api增删改查使用ASP.NETMVC-api技术实现对数据库的增删改查创建mvcapi项目创建完毕后的目录添加模型类接着在models文件夹添加实体数据模型,引入EF数据库,具体方法参考我之前的EF文章。然后在models中添加两个类,用于反馈操作是否成功。error类publicclassError{///<summary>///错误返回对象<br/>///exp:<br/>

大家好,又见面了,我是你们的朋友全栈君。

使用ASP.NET MVC-api技术实现对数据库的增删改查

创建mvc api项目

创建完毕后的目录

创建完成
添加模型类

接着在models文件夹添加实体数据模型,引入EF数据库,具体方法参考我之前的EF文章。
在这里插入图片描述
然后在models中添加两个类,用于反馈操作是否成功。
error类

    public class Error
    { 
   
        /// <summary>
        /// 错误返回对象<br />
        /// exp:<br />
        /// 登录错误<br/ >
        /// 数据库连接失败<br />
        /// </summary>
        /// <param name="message"></param>
        public Error(string message)
        { 
   
            this.code = -1;
            this.message = message;
            this.result = null;
        }

        public int code { 
    get; set; }
        public string message { 
    get; set; }
        public object result { 
    get; set; }
    }

success类

    public class Success
    { 
   
        /// <summary>
        /// 成功返回对象<br/>
        /// exp:<br/>
        /// 登陆成功
        /// </summary>
        /// <param name="message"></param>
        /// <param name="result"></param>
        public Success(string message, object result)
        { 
   
            this.code = 200;
            this.message = message;
            this.result = result;
        }

        public int code { 
    get; set; }
        public string message { 
    get; set; }
        public object result { 
    get; set; }

    }

配置api
在App_Start文件夹的WebApiConfig.cs文件里边配置。

			// Web API 配置和服务
            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

修改访问路径以方便测试访问

api/{controller}/{action}/{id}

接下来进入正题,新建Test控制器

查询所有

		[HttpGet]
        public object GetInfo()
        { 
   
            using(rj190xEntities db = new rj190xEntities())
            { 
   
                return new Success("查询成功", db.girl1907.ToList());
            }
        }

在postman中测试

{ 
   
    "code": 200,
    "message": "查询成功",
    "result": [
        { 
   
            "id": "15FF969B178B42D698F7162F7A56C90D",
            "createDate": "2021-06-11T09:20:02.757",
            "nickName": "111",
            "introduce": "111"
        },
        { 
   ...}
}

添加

        [HttpPost]
        public object AddInfo(string nickName,string introduce)
        { 
   
            if (string.IsNullOrEmpty(nickName)||string.IsNullOrEmpty(introduce))
            { 
   
                return new Error("参数不允许为空!");
            }
            girl1907 g = new girl1907();
            g.id = System.Guid.NewGuid().ToString("N");
            g.createDate = DateTime.Now;
            g.nickName = nickName;
            g.introduce = introduce;
            using (rj190xEntities db = new rj190xEntities())
            { 
   
                db.girl1907.Add(g);
                int rows = db.SaveChanges();
                if (rows>0)
                { 
   
                    return new Success("添加成功!", g.id);
                }
                else
                { 
   
                    return new Error("添加失败");
                }
            }
        }

测试

{ 
   
    "code": 200,
    "message": "添加成功!",
    "result": "20f5dc112e494c349db90ccd561bc96c"
}

删除

        [HttpPost]
        public object DeleteById(string id)
        { 
   
            if (string.IsNullOrEmpty(id))
            { 
   
                return new Error("id为空!");
            }
            using (rj190xEntities db = new rj190xEntities())
            { 
   
                girl1907 g = db.girl1907.Where(o => o.id == id).SingleOrDefault();
                if (g==null)
                { 
   
                    return new Error("没有此用户!");
                }
                db.girl1907.Remove(g);
                int rows = db.SaveChanges();
                if (rows>0)
                { 
   
                    return new Success("删除成功!", g.id);
                }
                else
                { 
   
                    return new Error("删除失败");
                }
            }
        }

测试

{ 
   
    "code": 200,
    "message": "删除成功!",
    "result": "8ffea198c8ca4bb187229a90e24ac865"
}

精准查询

        [HttpGet]
        public object SelectById(string id)
        { 
   
            if (string.IsNullOrEmpty(id))
            { 
   
                return new Error("id为空!");
            }
            using (rj190xEntities db = new rj190xEntities())
            { 
   
                girl1907 g = db.girl1907.Where(o => o.id.Equals(id)).SingleOrDefault();
                if (g==null)
                { 
   
                    return new Error("没有此用户!");
                }
                return new Success("查询成功", g);
            }
        }

查询刚刚删除的用户测试

{ 
   
    "code": -1,
    "message": "没有此用户!",
    "result": null
}

修改

        [HttpPost]
        public object UpdateById(string id,string nickName,string introduce)
        { 
   
            if (string.IsNullOrEmpty(id)||string.IsNullOrEmpty(nickName)||string.IsNullOrEmpty(introduce))
            { 
   
                return new Error("参数为空!");
            }
            using (rj190xEntities db = new rj190xEntities())
            { 
   
                girl1907 g = db.girl1907.Where(o => o.id.Equals(id)).SingleOrDefault();
                if (g==null)
                { 
   
                    return new Error("没有此用户!");
                }
                g.nickName = nickName;
                g.introduce = introduce;
                int rows = db.SaveChanges();
                if (rows>0)
                { 
   
                    return new Success("修改成功!",g.id);
                }
                return new Error("修改失败!");
            }
        }

测试

{ 
   
    "code": 200,
    "message": "修改成功!",
    "result": "8ffea198c8ca4bb187229a90e24ac865"
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162937.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SPPnet论文总结

    SPPnet论文总结小菜看了SPPNet这篇论文之后,也是参考了前人的博客,结合自己的一些观点写了这篇论文总结。这里参考的连接如下:[http://blog.csdn.net/u013078356/article/details/50865183]论文:《SpatialPyramidPoolinginDeepConvolutionalNetwo

    2022年6月7日
    31
  • svn服务器文件保存位置,Windows 部署SVN服务器

    svn服务器文件保存位置,Windows 部署SVN服务器一、准备在Windows系统安装完成后,就可以搭建SVN服务器了。需要准备以下软件:VisualSVN-Server-3.9.0-x64.msi–SVN服务器软件二、VisualSVNServer安装1.双击VisualSVN-Server-3.9.0-x64.msi准备安装,点击“Next”image.png2.接受许可协议,点击“Next”ima…

    2022年7月19日
    15
  • pycharm远程运行_泪指轮传说2图文攻略

    pycharm远程运行_泪指轮传说2图文攻略推荐阅读:http://pycharm.iswbm.com这一篇文章是以前的文章,有的朋友已经看过,但是没有关系,因为这次我准备介绍这几大调试工具都是如何调试,又该如何选择。一般情况下,我们开发调试都是在个人PC上完成,遇到问题,开一下Pycharm的调试器,很快就能找到问题所在。可有些时候,项目代码的运行会对运行环境有依赖,必须在部署了相关依赖组件的服务器上才可以运行,这就直接导致了我们不能在本地进行调试。对于这种特殊的场景,就我所知,有如下两种解决方案:pdbRemoteDebug

    2022年8月28日
    3
  • 给出前序遍历和中序遍历求二叉树_已知前序遍历和后序遍历

    给出前序遍历和中序遍历求二叉树_已知前序遍历和后序遍历一、基本概念1.先序遍历(NLR)可以确定二叉树的父子结点;2.中序遍历(LNR)可以确定二叉树的左右子树;3.后序遍历(LRN)可以确定二叉树的父子结点;二、结论1.已知先序遍历,中序遍历序列,能够创建出一棵唯一的二叉树,可以得出二叉树的后序遍历;2.已知后序遍历,中序遍历序列,能够创建出一棵唯一的二叉树,进而可以得出二叉树的先序序列;3.综上,必须含有中序遍历(确定…

    2025年10月18日
    4
  • vs2010sp1安装未成功_c++2005怎么安装

    vs2010sp1安装未成功_c++2005怎么安装vs2005sp1安装失败是经常的事情。当发生这样的时候后,经过如下操作即可成功安装。第一步:1.单击“开始”,单击“运行”,键入secpol.msc,然后单击“确定”。2.双击“本地安全策略”。3.单击“软件限制策略”。注意:如果未列出软件限制,请右击“软件限制策略”,然后单击“新建策略”。4.在“对象类型”下,双击“强制”。5.单击“除本地管理员以外的所有…

    2022年10月6日
    1
  • pycharm怎么装第三方库jieba_python怎么导入requests库

    pycharm怎么装第三方库jieba_python怎么导入requests库PyCharm安装第三方库是十分方便的,无需pip或其他工具,平台就自带了这个功能而且操作十分简便。如下:

    2022年8月25日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号