Параметризация структуры данных в API-проекте

Я смутно имею следующий документ:

# Group Cats

## Get ALl The Cats [GET /api/v1/cats{?page%5bsize%5d,page%5bnumber%5d,sort,filter}]

+ Parameters
    + page%5bsize%5d: 10 (number, optional) - Maximum number of resources in a single paginated response.
    + page%5bnumber%5d: 2 (number, optional) - Page number to fetchedfor the paginated response.

+ Request Success Reports (application/json)

+ Response 200 (application/json)
    + Attributes
        + data (array[Cat], required, fixed-type)
            + (Cat)
        + meta (Metadata, optional)
        + links (Links)

## Data Structures

### Links
+ self: `/api/v1/resources?page[number]=2&page[size]=10` (string, required)
+ first: `/api/v1/resources?page[number]=1&page[size]=10` (string, required)
+ last: `/api/v1/resources?page[number]=3&page[size]=10` (string, required)
+ prev: `/api/v1/resources?page[number]=1&page[size]=10` (string, required)
+ next: `/api/v1/resources?page[number]=3&page[size]=10` (string, optional)

Я рефакторил ссылки в своих собственных структурах данных. Все это работает хорошо. Что я хочу сделать, это сделать часть URL-адресов в Links динамический, так что resources будет заменено тем, что я передам. Так что-то вроде:

### Links (something)
+ self: `/api/v1/{something}?page[number]=2&page[size]=10` (string, required)
+ first: `/api/v1/{something}?page[number]=1&page[size]=10` (string, required)
+ last: `/api/v1/{something}?page[number]=3&page[size]=10` (string, required)
+ prev: `/api/v1/{something}?page[number]=1&page[size]=10` (string, required)
+ next: `/api/v1/{something}?page[number]=3&page[size]=10` (string, optional)

И тогда я мог бы сделать что-то вроде этого:

+ Response 200 (application/json)
    + Attributes
        + data (array[Cat], required, fixed-type)
            + (Cat)
        + meta (Metadata, optional)
        + links (Links `cats`)

замена resources с cats,

0 ответов

Другие вопросы по тегам