webapi controller 要继承 ApiController
重写权限验证 ,记得使用 System.Web.Http下的AuthorizeAttribute。
webapi默认路由是根据参数来匹配的,不是通过action,如果要增加路由可以在WebApiConfig文件夹下的Register使用:
config.Routes.Add( name: "ActionApi", new System.Web.Http.Routing.HttpRoute( routeTemplate: "actionapi/{controller}/{action}/{id}", defaults:new System.Web.Http.Routing.HttpRouteValueDictionary(new { id=RouteParameter.Optional}) ));
注意这个开头的actionapi不要跟默认的api一样就行,不然也不得行。
webapi可以的方法可以直接返回对象,不用转成json,因为默认就把返回的对象转换为json了。
接受参数,如果是Get请求,要在参数前加上[FromUri],比如:[FromUri]string UserName
如果是Post请求,参数不是对象,是一个参数,请求的时候,
contentType要写成:application/x-www-form-urlencoded;charset=utf-8
并且一个参数的情况特殊,请求方拼接的时候,直接 =‘HelloLLLLL‘,
而不是这样:UserName=‘HelloLLLLL‘。
并且接受的api方法要加上[FromBody] UserName
方法上加上属性[HttpPost]