26 lines
2.3 KiB
Twig
26 lines
2.3 KiB
Twig
{# FIXME. Discuss: https://github.com/TouchInstinct/api-generator/issues/41 #}
|
||
{%- set outOfDateError = first(errorType.values) -%}
|
||
|
||
<div class="page-data">
|
||
<h2 id="versioning-description">Описание</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 id="versioning-example">Пример</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 | escape }}"</span>
|
||
}
|
||
</div>
|
||
</div>
|
||
</div> |