added versioning to all contents section

This commit is contained in:
elena 2018-03-06 20:21:23 +03:00
parent bdbcbd6e52
commit c19786d0e0
3 changed files with 50 additions and 26 deletions

View File

@ -45,11 +45,25 @@
<li><a href="index.html">Перечисления</a></li>
<li><a href="index.html">бщий вид ответа сервера</a></li>
</ol>
{%- include 'blocks/table-of-contents-body.html.twig' with {
</li>
{% if versioningEnabled %}
<li>
<h2 class="numbered-contents__title">
<a href="index.html">Версионирование API</a>
</h2>
<ol>
<li><a href="versioning.html">Описание</a></li>
<li><a href="versioning.html">Пример</a></li>
</ol>
</li>
{% endif %}
{%- include 'blocks/table-of-contents-body.html.twig' with {
methods: tableOfContents.methods,
classes: tableOfContents.classes,
enums: tableOfContents.enums
} %}
} %}
</ol>
</div>
</div>
@ -59,6 +73,13 @@
</h1>
{%- include 'blocks/main-concepts.html.twig' with { responseClass: responseClass } %}
{% if versioningEnabled %}
<h1>
Версионирование API
</h1>
{%- include 'blocks/versioning-info.html.twig' with { errorType: errorType, errorsPagePath: errorsPagePath } %}
{% endif %}
{% if methods is not null %}
<h1>
Методы

View File

@ -0,0 +1,26 @@
{# FIXME. Discuss: https://github.com/TouchInstinct/api-generator/issues/41 #}
{%- set outOfDateError = first(errorType.values) -%}
<div class="page-data">
<h2>Описание</h2>
<p class="sub-header">Необходимо иметь возможность поддержки нескольких версий API (для одновременной работы нескольких версий приложения). Также необходимо предусмотреть принудительное обновление какой-либо из версий.</p>
<p class="sub-header"> Версии API будут размещаться на url-адресах вида &lt;base_url&gt;/v&lt;version_number&gt;/, где &lt;version_number&gt; - версия 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 будет располагаться по адресу: &lt;base_url&gt;/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>

View File

@ -1,8 +1,5 @@
{%- 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">
@ -21,27 +18,7 @@
} %}
<div class="content">
<div class="page-data">
<h2>Описание</h2>
<p class="sub-header">Необходимо иметь возможность поддержки нескольких версий API (для одновременной работы нескольких версий приложения). Также необходимо предусмотреть принудительное обновление какой-либо из версий.</p>
<p class="sub-header"> Версии API будут размещаться на url-адресах вида &lt;base_url&gt;/v&lt;version_number&gt;/, где &lt;version_number&gt; - версия 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 будет располагаться по адресу: &lt;base_url&gt;/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>
{%- include 'blocks/versioning-info.html.twig' with { errorType: errorType, errorsPagePath: errorsPagePath } %}
</div>
</div>