陈斌彬的技术博客

Stay foolish,stay hungry

WebAPI 用法

先创建一个UserModel

public class UserModel
{
    public string UserID { get; set; }
    public string UserName { get; set; }
}

然后添加Web API Controller

public class UserController : ApiController
{
    public UserModel getAdmin()
    {
        return new UserModel() { UserID = "000", UserName = "Admin" };
    } 
}

注册路由

public static void Register(HttpConfiguration config)
{
    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

在Global中注册

protected void Application_Start(object sender, EventArgs e)
{
    WebApiConfig.Register(GlobalConfiguration.Configuration);
}

这个时候用地址栏访问地址:api/user/getadmin

img

添加虚拟目录,转换成应用程序,最后发布到IIS

用google浏览器能看到xml

转成应用程序查看

img

转成网站查看

img

用IE浏览器是看到打开文件

img

Web API 总结

  1. Web API 控制器(Controller) 继承ApiController
  2. Api 的 Url Map: api/{controller}/{id} 每个"Action"是通过 Http谓词(GET/POST/PUT/DELETE)映射的
  3. 客户端可以通过 Http Header 的 Accept 指定返回数据的格式。默认是支持:appliction/xmlapplication/json,当想返回比如 image/jpeg 这样的图片格式时,需要添加 MediaTypeFormatter 。比如:当指定某个 Task 时,通过指定 Accept : image/jpeg 获取该 Task 的图片信息