Rest api设计问题 - 带有查询元素

时间:2016-10-14 09:21:23

标签: rest express

我使用express作为mysql的路由器。

博客和评论是数据库中的两个实体(MySql),并且通过外键关联。

传统的REST api设计如下所示:

blog/:blogId
blog/:blogId/comments/:commentId

我正在考虑下面的等价物,因为我不想要嵌套路线 - 而是 所有其他的东西都将在请求查询中。这种代码模块化,而不是在后端相互链接。

blog/:blogId
comments/:commentId?blog=blogId

我知道这有点违背了休息api。

如果我继续使用apis,我会想到什么?任何人都可以指出一个例子。

1 个答案:

答案 0 :(得分:0)

好吧,将数据作为查询参数传递是不可取的。通常在规范中查询参数数据是那些非强制性的数据,在其他意义上即使你没有通过查询参数API也不应该失败,在你的情况下,如果没有传递blogId会返回什么评论?我认为blogId是一个必填字段

但你可以使用像

这样的东西
    blog/:blogId
    comments/:commentId/blog/:blogId

但是我理解你对这种关系的理解,因为博客不是评论的孩子,就像从API签名中看到的那样,但是我们能否在API签名中实现确切的关系?