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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 万物互联时代,警惕黑客“帮凶”

    万物互联时代,警惕黑客“帮凶”

    2022年3月4日
    65
  • MATLAB插值函数interp1

    MATLAB插值函数interp1插值法    插值法又称“内插法”,是利用函数f(x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f(x)的近似值,这种方法称为插值法。如果这特定函数是多项式,就称它为插值多项式。线性插值法    线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。    

    2022年6月13日
    32
  • settime和setinterval_setinterval是异步还是同步

    settime和setinterval_setinterval是异步还是同步setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。这两个函数的区别是:setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。有一次我没有分清,使用了setInterval,导致电脑崩溃了。setTimeout表面上是只执行一次,只是起到延迟作用。但是也可以通过创建一个函数循环重复调用…

    2022年10月4日
    2
  • mysql重启服务命令_重启mysql命令

    mysql重启服务命令_重启mysql命令一、MYSQL服务我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止、重启动)二、命令行方式Windows1.点击“开始”->“运行”(快捷键Win+R)。2.启动:输入netstopmysql3.停止:输入netstartmysql提示*RedhatLinux也支持servicecommand,启动:#servicemysqldstar…

    2022年7月17日
    19
  • SQL分页查询方案的性能对比[通俗易懂]

    SQL分页查询方案的性能对比[通俗易懂]作者|中国农业银行吴海存责编|晋兆雨头图|CSDN下载自视觉中国导读本文主要介绍了基于ROWNUM、主键列/非空唯一性列、分析函数、OFFSET-FETCHNEXT机制的…

    2022年6月26日
    24
  • 禁用360浏览器6.2自带的Flash Player

    禁用360浏览器6.2自带的Flash Player360浏览器6.2自带了FlashPlayer,版本为11.6,而我需要使用最新版的FlashPlayer11.9,我安装了最新版的FlashPlayer11.9后,浏览网页时,360浏览器6.2默认使用的是自带的FlashPlayer11.6因此我们必须禁用掉360浏览器自带的FlashPlayer11.6——————————

    2022年6月11日
    46

发表回复

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

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