用于命名嵌套资源的REST最佳实践

时间:2012-08-21 08:57:08

标签: api rest

目前我有以下资源:

/api/user/12

返回有关id = 12

的用户的信息
/api/user/12/trips

返回用户12的行程列表及其信息

但是我考虑/ trip /一个单独的资源,所以这将继续这样:

/api/trip/5

返回有关id = 5

的旅行的信息

这是一个很好的方法吗?

2 个答案:

答案 0 :(得分:2)

最佳做法是使用域的路径。

向某位用户展示:

/api/user/{username}

显示所有用户:

/api/user

使用查询过滤所有用户。

/api/user?region=Italy

这是一篇很好的文章:http://developer.immobilienscout24.de/wiki/Path_and_Query_Parameters

答案 1 :(得分:1)

您应该始终使用复数来命名资源:

/api/users

含义:所有用户(集合)。

/api/users/12

含义:用户12。

对于与给定资源相关的嵌套资源,您可以执行以下操作:

/api/users/12/trips

含义:trips 12的所有user

但是,您仍然可以使用此URI描述特定的trip

/api/trips/5

含义:旅行5。