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】根据用户编号删除用户信息。如下图所示:

原文地址:https://www.cnblogs.com/ZengJiaLin/p/14212457.html