Расширение URL в ответе REST (фляга) - PullRequest
0 голосов
/ 07 февраля 2019

Я разработал REST API для колб, используя курс @miguelgrinberg по разработке REST API.Я использую метод светокопии (не колбу).Когда я возвращаю коллекцию (ресурсов URL), мой клиент должен сделать несколько вызовов для получения данных.Есть ли простой способ для клиента, чтобы избежать нескольких звонков.Например:

{
    "tasks": [
        "http://localhost:7500/tasks-api/v1/tasks/id/1",
        "http://localhost:7500/tasks-api/v1/tasks/id/2"
    ],
    "pages": {
        "first_url": "http://localhost:7500/tasks-api/v1/tasks/?page=1&per_page=25",
        "last_url": "http://localhost:7500/tasks-api/v1/tasks/?page=1&per_page=25",
        "next_url": null,
        "page": 1,
        "pages": 1,
        "per_page": 25,
        "prev_url": null,
        "total": 1
    }
}

Вопрос в том, как (автоматически) расширить вложенные ресурсы без дополнительных вызовов API.

1 Ответ

0 голосов
/ 07 февраля 2019

Если есть разные URL-адреса, очевидно, что вам нужно назвать их все.Если некоторые из них могут быть повторениями, как здесь, просто кэшируйте результат с помощью функции, которая использует декоратор с тайм-аутом кеширования .

@ecached('geturl_{url}', 3600)
def get_with_cache(url):
    response: requests.Response = requests.get(url)
    return response.text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...