Стандарт URL, связанный с REST/вложенными объектами
если /wallet возвращает список кошельков и каждый кошелек имеет список транзакций. Каков стандарт OpenAPI/REST?
Например,
http://localhost:8000/api/wallets/
дает мне
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"user": 1,
"address": "3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd",
"balance": "2627199.00000000"
}
]
}
http://localhost:8000/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd/
дает мне
{
"user": 1,
"address": "3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd",
"balance": "2627199.00000000"
}
Если я хочу добавить список транзакций, каков стандартный способ его формирования?
http://localhost:8000/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd/transactions
?
http://localhost:8000/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd/transactions?offset=100
для пагинации
REST не заботится о том, какие орфографические соглашения вы используете для своих ресурсов. Вместо этого он ожидает, что у вас есть представления ссылок между ресурсами, а также метаданные, описывающие природу ссылки.
Так что эта схема fine.
/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd/transactions
И эта схема также fine.
/api/wallets/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
/api/transactions/3E8ociqZa9mZUSwGdSmAEMAoAxBK3FNDcd
Насколько я могу судить, OpenAPI также предоставляет вам свободу в разработке модели ресурсов таким образом, который лучше всего подходит для вас (он просто сообщает вам один из возможных способов документировать выбранную вами модель ресурсов).