Стандарт 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 также предоставляет вам свободу в разработке модели ресурсов таким образом, который лучше всего подходит для вас (он просто сообщает вам один из возможных способов документировать выбранную вами модель ресурсов).

Вернуться на верх