替代的REST路由获取查询类型的调用

时间:2012-09-06 20:06:36

标签: rest asp.net-web-api

我正在使用.NET Web API,并且需要一种策略来创建查询路径。例如,从页面开始,代码位于决策点,需要服务器上的业务逻辑指示如何继续。

仅供审核,此路线将返回标准用户...

http://mysite/api/user/5

但是,如果我想知道用户是否具有由业务逻辑确定的某些特性,我会做出UI决定,对于这样的事情,一个好的REST调用会是什么?

也许......

http://mysite/api/user/5?canbake=true

或者这样更好......

http://mysite/api/user/5/canbake

如果是后者,那么路由定义是什么样的呢?

1 个答案:

答案 0 :(得分:2)

我相信普遍的共识是后者更好 也就是说,路线定义看起来像:

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