查询某一个大类下所有新闻restful规范URL该怎么写

项目中有个新闻系统,分为国际新闻、国内新闻和行业新闻,存在数据库表bigclass里面,国际新闻又分为:财经新闻、体育新闻、娱乐新闻……,国内新闻和行业新闻也分好多小类,小类都存在数据库表smallclass里,所有的新闻内容都存在news表里,news表有个smallclass_id和表smallclass关联。如果需要查询某一个小类的所有新闻可以这么写:

http://www.example.com/api/smallclass/5/news

可是如果要查询某一个大类下所有新闻该怎么写?news表和bigclass表没有直接关联啊。

阅读 3.3k
3 个回答

这个和 restful 没关系吧,news 和 bigclass 没关联的话,smallclass 和 bigclass 总有关联的吧,这样 news 和 bigclass 可以通过 smallclass 来关联。

如果要按 restful 规范来写的话,url 应该大概是这么的:

http://www.example.com/api/bigclass/:bigclass_id/smallclass/:smallclass_id/news

或者是将 bigclass 作为 query 传给服务端,比如:

http://www.example.com/api/smallclass/:smallclass_id/news?bigclass_id=123

不是特别明白你的意思。表面上看起来很简单呀,查bigclass的数据,那么就这么写:

http://www.example.com/api/bigclass

但是感觉你这个restful设计有问题。根据restful的设计规范,你要访问的是news这个资源,而不是bigclass或smallclass这种类别。
所以你的查询新闻的URL应该长这个样子:

http://www.example.com/api/news?bigclass=XXX&smallclass=YYY

以后如果你要返回所有新闻类别,你获取类别的URL才应该长这样:

http://www.example.com/api/smallclass
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏