大家好,又见面了,我是你们的朋友全栈君。
使用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"
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162937.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...