我使用express作为mysql的路由器。
博客和评论是数据库中的两个实体(MySql),并且通过外键关联。
传统的REST api设计如下所示:
blog/:blogId
blog/:blogId/comments/:commentId
我正在考虑下面的等价物,因为我不想要嵌套路线 - 而是 所有其他的东西都将在请求查询中。这种代码模块化,而不是在后端相互链接。
blog/:blogId
comments/:commentId?blog=blogId
我知道这有点违背了休息api。
如果我继续使用apis,我会想到什么?任何人都可以指出一个例子。
答案 0 :(得分:0)
好吧,将数据作为查询参数传递是不可取的。通常在规范中查询参数数据是那些非强制性的数据,在其他意义上即使你没有通过查询参数API也不应该失败,在你的情况下,如果没有传递blogId会返回什么评论?我认为blogId是一个必填字段
但你可以使用像
这样的东西 blog/:blogId
comments/:commentId/blog/:blogId
但是我理解你对这种关系的理解,因为博客不是评论的孩子,就像从API签名中看到的那样,但是我们能否在API签名中实现确切的关系?