一、创建Net Web API项目
1.新建web应用程序
2.选择空模板,并且勾选web api
3.生成web api项目后,添加controller文件
4.自动回生成content、views等文件夹及文件
5.可直接运行,程序异常
6.Global.asax 添加配置
代码如下:
protected void Application_Start()
{
//注册ASP.NET MVC应用程序中的所有区域。
AreaRegistration.RegisterAllAreas();
//配置WebApi
GlobalConfiguration.Configure(WebApiConfig.Register);
//注册过滤器
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
//注册路由配置
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
7.修改路由配置,制定默认controller、action
代码如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//defaults: new { action = "Index", id = UrlParameter.Optional }
);
}
8.生成默认view
9.重新编译,运行程序。成功显示home的index页面
二、引入Swagger
1.打开NuGet程序包
2.“浏览”页签下,搜索swagger, 找到swashbuckle,右侧选择webapi项目,进行安装。
3.找到swagger.net.ui,右侧选择webapi项目,进行安装。
4.安装完成后,生成相关配置文件,可直接关闭掉nuget,
三、配置Swagger
1.修改默认页(前面步骤中生成的HomeController的index页面仅仅是测试用,到此步骤也可以删除掉)
代码如下:
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
//return View();
return Redirect("~/swagger/ui/index");
}
}
2.运行程序,出现报错,因为还缺少配置
3.打开应用程序属性
选择“生成”,勾选xml文档,这个xml里面会自动配置swagger
4.打开SwaggerNet.cs,屏蔽如下两行代码。
5.重新运行,看到下面页面则代表swagger配置成功。
四、编写接口及调试
1.新建测试model
代码如下:
namespace WebApi.Models
{
public class UserInfo
{
public int UserId { get; set; }
public string UserName { get; set; }
}
///
public class UserInfoRestule : UserInfo
{
public int Age { get; set; }
public string Email { get; set; }
}
}
2.新建一个测试controller
代码如下:
namespace WebApi.Controllers
{
public class TestAPIController : ApiController
{
[HttpPost]
public IHttpActionResult SetUserInfo(UserInfo dto)
{
UserInfoRestule info = new UserInfoRestule();
info.UserId = dto.UserId;
info.UserName = dto.UserName;
info.Age = 18;
info.Email = "xxxxx@xx.com";
return Json<UserInfoRestule>(info);
}
}
}
3.重新运行,看到新建的接口。
4.点击“TestAPI”,再点击“api/TestAPI”可打开接口详细内容。
5.接口测试。得到后台返回响应,则接口陈宫
五、注意说明
接口地址为http://localhost:64530/api/TestAPI
可利用Postman做测试