最近在为移动端app开发可供调用的接口程序,去了解了一下 MVC API控制器,简单的总结了一下API Controller的使用。
1.首先需要创建一个MVC项目,然后有两种方式可以选择,一个是创建一个其他类型项目,然后在其中添加API控制器,或者直接创建一个 WebAPI 的MVC项目,然后在其中添加 API 控制器
2.在添加控制器的时候也可以选择创建一个API控制器,这样就在已有的项目二次开发
3.创建之后API控制器就能够使用了,API控制器继承于System.Web.Http.APIController,不同不同于一般控制器继承的System.Web.Mvc.Controller类,它的成员变量和方法要少的多,所实现的接口也要少得多,其实就是比一般的MVC控制器更加的简单,一开始使用可能会有些不太习惯,可以直接返回一个System.Net.Http.HttpResponseMessage对象,可以通过它来设置响应状态和正文内容,在默认配置下,Get()方法就是在Get请求下调用的方法。
public class MyApiController : ApiController
{
public HttpResponseMessage Get()
{
return new HttpResponseMessage
{
Content = new StringContent
(
JsonConvert.SerializeObject(new { status = "", messages = "" }),
Encoding.GetEncoding("Utf-8"),
"application/json"
),
StatusCode = HttpStatusCode.OK,
};
}
}
4.另外,API 控制器的路由器配置也是独立配置的,在项目的 App_Start/WebApiConfig.cs 这个文件中,如果项目中有其他普通的API控制器,最好配置不同的路由规则,以免产升冲突。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
6.能够看到返回结果
本人接触API控制器不到一周时间,总体感觉它更加适合开发一些API,因为简化了数据的接收和传递方法,可以提高这类项目开发时的效率,至于更具体的内容,以后有机会还将继续发表有关这方面的发现与心得。