先创建一个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
添加虚拟目录,转换成应用程序,最后发布到IIS
用google浏览器能看到xml
转成应用程序查看
转成网站查看
用IE浏览器是看到打开文件
Web API 总结
- Web API 控制器(Controller) 继承ApiController
- Api 的 Url Map:
api/{controller}/{id}
每个"Action"是通过 Http谓词(GET/POST/PUT/DELETE
)映射的 - 客户端可以通过 Http Header 的 Accept 指定返回数据的格式。默认是支持:
appliction/xml
和application/json
,当想返回比如image/jpeg
这样的图片格式时,需要添加 MediaTypeFormatter 。比如:当指定某个 Task 时,通过指定 Accept : image/jpeg 获取该 Task 的图片信息