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]
【C#】初次使用webapi的体会
webapi controller 要继承 ApiController
重写权限验证 ,记得使用 System.Web.Http下的AuthorizeAttribute。
webapi默认路由是根据参数来匹配的,不是通过action,如果要增加路由可以在WebApiConfig文件夹下的Register使用: