REST API - исключить поля по умолчанию - PullRequest
1 голос
/ 12 марта 2020

В настоящее время у меня возникают проблемы при разработке моего API. Это мой первый черновик:

Endpoint: /api/v1/orders/{id}/tracking

{
    "state": "on_the_way",
    "location": {
        "latitude": -6.123,
        "longitude": 102.123
    },
    "distance": {
        "value": 10,
        "unit": "meters"
    },
    "duration": {
        "value": 10,
        "unit": "minutes"
    }
}

Оказывается, команда разработчиков хочет, чтобы он по умолчанию исключал distance и duration, поскольку он использует API-интерфейс матрицы расстояний Карт Google, и это повлияет на наш биллинг. Как бы выглядели параметры запроса, если я хочу показать distance и duration?

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

1 Ответ

0 голосов
/ 12 марта 2020

/api/v1/orders/{id}/tracking/full

, чтобы включить расстояние и продолжительность. Я склонен рассматривать параметры как RPC, а не REST. Например, /tracking?type=full

/api/v1/orders/{id}/tracking

будет конечной точкой по умолчанию только для состояния и местоположения.

Вы можете использовать HATEOS для включения полного URL-адреса отслеживания в ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...