什么是Swagger?
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。使用Swagger能够让我们在线调试接口以及功能测试。现在我把Swagger集成到Asp.Net MVC 中。
具体步骤:
1、用Visual Studio 2017 创建一个Asp.Net Web API 项目
从模板中选择 Web API,这样 VS将把 MVC、与Web API相关的文件夹和核心引用添加到我们的应用中。(一定要选择Web API不然后面没有效果的,这里主要就是在web api 里面实现的)
创建项目后项目文档跟文件夹结构如下
2、用Code First在Model里面创建2张表用来测试,一张用户表Users,一张部门表Dep
创建表之前先引用EF
下面是部门表跟用户表的代码,里面的关系也配置好了
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Web; namespace SwaggerDemo.Models { /// <summary> /// 用户表 /// </summary> [Table("Users")] public class Users { /// <summary> /// Id /// </summary> [Key] public int Id { get; set; } /// <summary> /// 登录账号 /// </summary> [StringLength(20,ErrorMessage ="登录ID不能超过20个字符")] [Column("LoginID",TypeName ="nvarchar")] [Display(Name ="登录账号")] public string LoginID { get; set; } /// <summary> /// 密码 /// </summary> public string Pwd { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 性别 /// </summary> public string Sex { get; set; } /// <summary> /// 部门Id /// </summary> [ForeignKey("Dep")] public int DepId { get; set; } /// <summary> /// 部门 /// </summary> public virtual Dep Dep { get; set;