51 lines
3.0 KiB
Twig
51 lines
3.0 KiB
Twig
{%- include 'blocks/head.html.twig' with { title: pageTitle, cssFolderPath: cssFolderPath } %}
|
||
|
||
{# FIXME. Discuss: https://github.com/TouchInstinct/api-generator/issues/41 #}
|
||
{%- set outOfDateError = first(errorType.values) -%}
|
||
|
||
<body class="main-page">
|
||
<div class="aside aside-left">
|
||
<div class="header">
|
||
<div class="title">{{ pageTitle }}</div>
|
||
</div>
|
||
<div class="content">
|
||
{%- include 'blocks/main-menu.html.twig' with { mainMenu: mainMenu } %}
|
||
</div>
|
||
</div>
|
||
|
||
<div class="aside aside-right">
|
||
{%- include 'blocks/header.html.twig' with {
|
||
imagesFolderPath: imagesFolderPath,
|
||
methodsPath: methodsPath,
|
||
relativeToRootPath: relativeToRootPath
|
||
} %}
|
||
|
||
<div class="content">
|
||
<div class="page-data">
|
||
<h2>Описание</h2>
|
||
<p class="sub-header">Необходимо иметь возможность поддержки нескольких версий API (для одновременной работы нескольких версий приложения). Также необходимо предусмотреть принудительное обновление какой-либо из версий.</p>
|
||
<p class="sub-header"> Версии API будут размещаться на url-адресах вида <base_url>/v<version_number>/, где <version_number> - версия API.</p>
|
||
<p class="sub-header">При вызове любого метода в случае, если вызываемая версия API требует обновления приложения, сервер должен вернуть ошибку:<br/>
|
||
"{{ outOfDateError.description }} <a href="{{ errorsPagePath }}">Код {{ outOfDateError.value }}.</a>"</p>
|
||
<p class="sub-header">При этом приложение должно показать пользователю диалог с предложением установить новую версию из маркета, а остальные функции должны стать недоступными.
|
||
</p>
|
||
|
||
<h2>Пример</h2>
|
||
<p class="sub-header">Первая версия API будет располагаться по адресу: <base_url>/v1/.<br/>
|
||
В тот момент, когда эта версия API перестанет поддерживаться, на все запросы этой версии API сервер должен возвращать следующий ответ:</p>
|
||
<div class="example-response">
|
||
|
||
<div class="text-response">{
|
||
"result": <span class="text-digit">null</span>
|
||
"error_code": <span class="text-digit">{{ outOfDateError.value }}</span>,
|
||
"error_message": <span class="text-digit">"{{ outOfDateError.description }}"</span>
|
||
}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
{%- include 'blocks/scripts.html.twig' with { jsFolderPath: jsFolderPath } %}
|
||
|
||
</body>
|
||
</html> |