0

作为我之前关于 REST URIs 用于检索网络论坛资源的统计信息的问题的后续,我想知道是否可以使用内部锚点作为过滤器提示。请参见下面的示例:

a) 获取所有统计信息:

GET /group/5t7yu8i9io0op/stat
{ 
    group_id: "5t7yu8i9io0op",
    top_ranking_users: {
      [ { user: "george", posts: 789, rank: 1 }, 
        { user: "joel", posts: 560, rank: 2 }  ...]
      },
    popular_topics: {
      [ ... ]
    },
    new_topics: {
      [ ... ]
    }
}

b) 只获取热门话题

GET /group/5t7yu8i9io0op/stat#popular_topics
{ 
    group_id: "5t7yu8i9io0op",
    popular_topics: {
      [ ... ]
    }
}

c) 只获取排名靠前的用户

GET /group/5t7yu8i9io0op/stat#top_ranking_users
{ 
    group_id: "5t7yu8i9io0op",
    top_ranking_users: {
      [ { user: "george", posts: 789, rank: 1 }, 
        { user: "joel", posts: 560, rank: 2 }  ...]
    }
}

或者我应该使用查询参数?

4

4 回答 4

2

不确定您到底要做什么,但请确保您了解服务器看不到片段标识符,它们被客户端连接器截断。

见:http ://www.nordsc.com/blog/?p=17

于 2010-03-31T08:15:03.560 回答
0

我从未见过以这种方式使用锚点——这很有趣。话虽如此,我建议使用查询参数有几个原因:

  1. 它们是标准的——你的 api 的消费者会对它们感到满意。没有什么比处理古怪的 api 更烦人的了。

  2. 许多框架将自动解析查询参数并将它们设置在请求对象的字典中(或您的框架/http 服务器库中存在的任何类似物)。

于 2010-03-31T08:02:12.740 回答
0

我认为拥有以下内容会更有意义:

/group/5t7yu8i9io0op/stat/top_users
/group/5t7yu8i9io0op/stat/popular_topics
/group/5t7yu8i9io0op/stat/new_topics
/group/5t7yu8i9io0op/stat/user/george
于 2010-03-31T08:03:00.323 回答
0

不,您不能这样做,因为正如 Jan 指出的那样,服务器永远不会看到该片段标识符。从字面上看,这部分 url 不会到达服务器。

于 2010-03-31T12:14:52.063 回答