ASP.NET WEB API 最全的Swagger 安装配置与使用(二)
前言
上节总结Swagger
的配置,这节,总结如何使用它实现接口。
前期准备
【1】需要安装Newtonsoft.Json
打开工具菜单->Nuget 包管理器->程序包管理控制台,选择安装的项目,然后,输入Install-Package Newtonsoft.Json -Version 11.0.2
回车即可。
控制台提示安装成功即可。
相关步骤
使用EF创建实体
【1】在项目中找到Models
文件夹,鼠标右键->添加->新建项。如下图所示:
【2】选择Visual C#->ADO.NET 实体模型,取个名字,点击"添加"。如下图所示:
【3】选择来自数据库的EF设计器,点击下一步。如下图所示:
【4】选择新建连接,会弹出连接数据库的窗口。连接数据库,后点击保存后,页面创建了连接字符串,更改实体的名字,点击下一步。如下图所示:
【5】选择实体框架5.0,选择下一步。如下图所示:
【6】最后,就等待在项目中自动生成一个实体模型了。
创建API
接口
【1】选择Controllers
文件夹,鼠标右键->新增->控制器。如下图所示:
【2】选择WEB API 2 控制器-空
,点击添加一个UserControllers
接口。如下图所示:
【3】编辑接口代码,实现数据的基本操作。如下代码所示:
using System;
using System.Collections.Generic;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Http;
using System.Web.Http.Results;
using mySwagger.Models;
using Newtonsoft.Json;
namespace mySwagger.Controllers
{
/// <summary>
/// 用户信息表
/// </summary>
public class UserController : ApiController
{
#region 获取数据列表
/// <summary>
/// 获取数据列表
/// </summary>
/// <returns></returns>
[HttpGet]
public string Get()
{
List<T_Users> mlist = new List<T_Users>();
using (textDBEntities e = new textDBEntities())
{
mlist = e.T_Users.ToList();
}
return JsonConvert.SerializeObject(mlist);
}
#endregion
#region 根据ID获取信息
// <summary>
/// 根据ID获取信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet]
public string GetId(int Id)
{
T_Users u = new T_Users();
using (textDBEntities e = new textDBEntities())
{
u = e.T_Users.Where(x => x.ID.Equals(Id)).FirstOrDefault();
}
return JsonConvert.SerializeObject(u);
}
#endregion
#region 添加用户信息
/// <summary>
/// 添加用户信息
/// </summary>
/// <param name="muser"></param>
/// <returns></returns>
[HttpPost]
public bool Insert([FromBody] T_Users muser)
{
bool result = false;
using (var e = new textDBEntities())
{
T_Users u = new T_Users();
u.UserId = muser.UserId;
u.UserPwd = muser.UserPwd;
u.UserName = muser.UserName;
u.createtime = DateTime.Now;
e.T_Users.Add(u);
if (e.SaveChanges() > 0)
result = true;
}
return result;
}
#endregion
/#region 更新用户信息
// <summary>
/// 更新用户信息
/// </summary>
/// <param name="muser"></param>
/// <returns></returns>
[HttpPut]
public bool update([FromBody] T_Users muser)
{
bool result = false;
using (var e = new textDBEntities())
{
if (e.T_Users.Where(x => x.ID == muser.ID).Any())
{
T_Users entity = e.T_Users.Where(x => x.ID.Equals(muser.ID)).FirstOrDefault();
entity.UserId = muser.UserId;
entity.UserPwd = muser.UserPwd;
entity.UserName = muser.UserName;
entity.createtime = DateTime.Now;
e.Entry(entity).State = System.Data.EntityState.Modified;
if (e.SaveChanges() > 0)
result = true;
}
}
return result;
}
#endregion
#region 根据用户id删除信息
/// <summary>
/// 根据用户id删除信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete]
public bool del(int id)
{
bool result = false;
using (var e = new textDBEntities())
{
T_Users em = e.T_Users.Where(x => x.ID == id).FirstOrDefault();
if (em != null)
{
e.T_Users.Attach(em);//将对象添加到EF管理容器
e.T_Users.Remove(em);//将对象包装类的标识状态变更为删除状态
if (e.SaveChanges() > 0)//通知上下文将实体的变化保存到数据库中
result = true;
}
}
return result;
}
#endregion
}
}
至此,编写接口的相关步骤就已经完成,接下来,我们来测试一下,我们的接口是否有效。
测试接口
【1】添加用户信息。如下图所示:
【2】获取用户信息。如下图所示:
【3】根据用户编号获取用户信息。如下图所示:
【4】根据用户编号更新用户信息。如下图所示:
【5】根据用户编号删除用户信息。如下图所示: