У меня есть вызов API, который я хочу предложить вернуть как читаемый человеком текст (против json), если отправитель устанавливает заголовок Accept на text/plain
. Текст возврата будет иметь разрывы строк, поэтому я хочу точно представить шаблон текста возврата в документах Swagger.
Я использую статические файлы swagger с файлом .yaml, который я обновляю для каждой конечной точки по мере ее записи. Эти файлы находятся в папке docs и используются для страниц github.
Грубый пример конечной точки, как описано в файле .yaml:
/healthcheck:
get:
tags:
- tests
summary: Returns ALIVE if all tests pass, failures if not
responses:
'200':
description: OK
content:
text/plain:
schema:
type: string
example: ALIVE
'412':
description: Precondition Failed (one or more health checks failed)
content:
text/plain:
schema:
type: string
example: "\n>ERRORS\nError1: <msg>\n..."
Основная проблема заключается в том, что swagger (я предполагаю) помещает текст примера в промежуток и игнорирует разрывы строк. Я пытался заменить \n
на <br>
и <br />
, но безрезультатно. Я также пытался
example: |
ERRORS
"Error connecting to redis: <errormsg>"
без успеха. Он чтит буквально кавычки, но все равно игнорирует разрывы строк.
Я знаю, что промежуток будет поддерживать разрывы строк, потому что если я проверю страницу, то уже смогу увидеть <br>
:
<span style="color: rgb(107, 107, 107); font-style: italic;">
<br>
<!-- react-text: 309 -->example<!-- /react-text -->
<!-- react-text: 310 -->: <!-- /react-text -->
<!-- react-text: 311 --><br>ERRORS<br>Error1: <msg><br>...
<!-- /react-text -->
</span>
Он чтит первые <br>
, но не те, что в блоке react-text
.
Короче говоря, если я смогу найти, где они создают этот блок span в файлах swagger (куча файлов .css, .js .js.map), я, вероятно, могу изменить его так, чтобы он соблюдал разрывы строк в одну сторону или другой. Но файлы - это путаница многостраничных однострочных текстов, и я их не понимаю.
Где находится кусок кода, который отвечает за создание блока html для content-> text / plain-> schema, type string-> example? (или, альтернативно, есть другой способ принудительного разрыва строки в примере строки)