《ASP.NET5》Web API Controller Class学习
Web API Controller Class是VS2015中ASP.NET Web Application类型的项目中添加新项时的一种模板类型,该模板类型产生一个REST风格的接口类,
为什么选择它不选择MVC Controller Class呢?
因为我们不希望它涉及到View,根本不需要View;
对于高手来说其实都一样了,继承的类都是一样的,只是具体的实现是不一样的;
比如别人已经提供了完整的类似代码,选择哪种模板就不重要了。
示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
// For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
namespace dotnethelloworld.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET: api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody]string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}
添加方法:
在项目名称上点击鼠标右键,添加》新建项
左侧选择服务器端,中间选择:Web API Controller Class,名称处输入您希望使用的名称
浏览调用:
VS2015窗口活动状态下,按F5键进入调试状态,会打开一个默认浏览器窗口,地址类似:http://localhost:3753
注意:后面的端口是随机的;
REST风格的API我们通过浏览器地址栏访问能测试的只有GET类型的接口请求,
我们来看一下Get()方法的注释:// GET: api/values
这告诉我们可以通过api/values访问这个方法,访问地址例如:http://localhost:3753/api/values
我们再来看一下Get(int id)方法的注释:// GET: api/values/5
这告诉我们可以通过api/values/5访问这个方法,访问地址例如:http://localhost:3753/api/values/5
后面的5就是传递给对应int id的值,类型需要匹配,不匹配的话默认是0;