ASP.NET MVC-api增删改查

使用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"
}
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PROBIE_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值