zoukankan      html  css  js  c++  java
  • 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】根据用户编号删除用户信息。如下图所示:

  • 相关阅读:
    BZOJ3129/洛谷P3301方程(SDOI2013)容斥原理+扩展Lucas定理
    Dilworth定理
    字符串
    hash
    李超线段树(segment[HEOI2013]-洛谷T4097)
    连通数[JSOI2010]-洛谷T4306
    主席树
    splay
    树链剖分
    受欢迎的奶牛-洛谷2341
  • 原文地址:https://www.cnblogs.com/ZengJiaLin/p/14212457.html
Copyright © 2011-2022 走看看