公开单个 REST 端点 (GET),其中 returns 一个父对象和与其关联的所有子对象
Expose single REST endpoint (GET) which returns a parent object and all the child objects associated with it
实现一个 REST 端点 (GET) 以同时公开父对象和一组子对象是否正确?
例如:
parent {
name: parent,
id: 123,
Children:{
{
childName:1
},
{
childName:2
}
}
}
我正在考虑两种方法:
- 实现一个 API 名为“parentWithchildren”(GET:/parentWithchildren/)
- 只是父端点,它将return一个父对象和一组子对象(GET: parent/)
如果我们遵循其余 api 原则,我们假设您的资源是 Parent 并且 Parent 可以有 children。假设每个 child 都可以通过 Id 和 Parent 来识别,那么您的其余端点将如下所示:
get /parent/{parentId}
get /parent/{parentId}/child/{childId}
现在您可以创建您的服务的原始版本,如果您的 child 人没有 ID 也很有用,它看起来像:
get /parent/{parentId}?fetchChildren=true
将端点实现为 /parentWithchildren 更像是一种 RPC 编程风格,不太像 rest。
实现一个 REST 端点 (GET) 以同时公开父对象和一组子对象是否正确?
例如:
parent { name: parent, id: 123, Children:{ { childName:1 }, { childName:2 } } }
我正在考虑两种方法:
- 实现一个 API 名为“parentWithchildren”(GET:/parentWithchildren/)
- 只是父端点,它将return一个父对象和一组子对象(GET: parent/)
如果我们遵循其余 api 原则,我们假设您的资源是 Parent 并且 Parent 可以有 children。假设每个 child 都可以通过 Id 和 Parent 来识别,那么您的其余端点将如下所示:
get /parent/{parentId}
get /parent/{parentId}/child/{childId}
现在您可以创建您的服务的原始版本,如果您的 child 人没有 ID 也很有用,它看起来像:
get /parent/{parentId}?fetchChildren=true
将端点实现为 /parentWithchildren 更像是一种 RPC 编程风格,不太像 rest。