我正在尝试设计具有依赖性的两种不同资源之间的关系。场景是:
两个资源,第一个称为“帐户”,第二个称为“人员”。
在我的 API 中,“人”资源是现实世界中人的代表,包括姓名、年龄、性别、地址、电话等。帐户是负责对人进行身份验证的资源,例如登录名。
所以“人”资源的表示如下所示:
{
"id": "7828292",
"name": "Joseph Climber",
"email": "yourmail@email.com",
"gender": "M",
"telephones": {
"main": {
"number": "898987777"
},
"secondary": {
"number": "909099090"
},
"business": {
"number": "937363902"
}
},
"address": {
"rel": "address",
"href": "person/{ID}/address"
}
}
“帐户”资源的表示形式如下:
{
"id": "login@email.com",
"tokenAccess": "5E69FAE25F4B4F3E8CC5DE09A8163520",
"link": {
"rel": "person",
"href": "person/{id}"
}
}
我的问题是:当我创建一个新人(POST 人)时,我没有办法对新人进行身份验证,在这种情况下需要创建一个新帐户来执行此操作,所以这对于API 消费者,因为 API 不会自然地表达这种关系(良好 API 设计的基本概念)。
表示帐户和人员资源之间的这种依赖关系的最佳方式是什么?