Как вы можете указать несколько действий GET для ресурса

Ресурсы обычно имеют несколько методов получения. Получите единственное число или получите много по параметрам запроса. Как это отражено в чертеже? Я могу сделать это, используя два ресурса, но, на мой взгляд, это неправильно, так как это один и тот же ресурс.

В связи с этим вопросом Как добавить PUT к ресурсу, если uri определен на уровне ресурса.

В идеале я думаю, что так все должно быть написано, но редактору это не нравится. Я нашел в документах, где HTTP_ACTION и URI могут быть объединены, но редактору, похоже, нужен URI на уровне ресурсов.

# Storefronts

## Read [GET /v1/storefronts{?query_params...}]

+ Parameter
    query_params ...

+ Request Matching Storefronts (application/json)
+ Response 200 (application/json)

## Read [GET /v1/storefronts/{id}]

+ Parameter
    + id (string) ... id for record to return
+ Request (application/json)
+ Response 200 (application/json)

## UPDATE [PUT /v1/storefronts/{id}]

+ Parameter
    + id (string) ... id for record to update
+ Request (application/json)
+ Response 200 (application/json)

person Justin    schedule 03.04.2015    source источник
comment
Эй, Тодд. Спасибо за ответ, но я это уже знал. Код контроллера не представлен в виде разных объектов, поэтому я считаю, что в документации этого не должно быть. Подумайте, что это короткий план, и думаю, мне придется с этим жить.   -  person Justin    schedule 12.04.2015


Ответы (1)


Технически у вас есть 2 ресурса: один, представляющий одну витрину с идентификатором (обычно поддерживающий GET, PUT, DELETE, PATCH), и один, представляющий набор витрин (обычно поддерживающий GET, POST). Вот как вы могли бы представить это в API Blueprint:

# Storefront [/v1/storefronts/{id}]

## Retreive a Single Storefront [GET]

## Update a Storefront [PUT]

## Delete a Storefront [DELETE]

# Storefronts Collection [/v1/storefronts]

## List Storefronts [GET]

## Create a New Storefront [POST]
person Todd Menier    schedule 07.04.2015