URL方案,应该将ID放在url中还是在参数中?

URL方案,应该将ID放在url中还是在参数中?

通常,URL方案将反映域。如果这个领域是一个图书馆管理系统,那么图书和借书的用户之间就会有一种关系。例如,一个可以返回user_id是否借来一本书的URL可能是:

代码语言:javascript运行复制/book/{book_id}/{user_id}这并不理想,因为它几乎像RPC一样,您要调用一个返回TRUE或FALSE的函数。REST应该返回对象当前状态的表示形式。

查询

这个用户借了哪些书?

代表可包括:

代码语言:javascript运行复制/user/{user_id}/books查询

代码语言:javascript运行复制which users have borrowed this book代表可包括:

代码语言:javascript运行复制/book/{book_id}/users翻译成一个域:

User可以借用Book的

因此,URL启动/user

Book可以由User的

因此,URL启动/book

从/user或/book开始,您可以向每个url添加更多的部件以查询资源。

查询参数通常用于细化结果,而不是影响资源的状态。例如,您可以有相同表示的不同格式:

代码语言:javascript运行复制/user/{user_id}/books?format=xml

/user/{user_id}/books?format=json

相关推荐