Swaggerエディター(ちなみに素晴らしいツールです)で複数行リテラルを取得しようとしています。
post:
summary: Translate one or more identifiers
description: |
Translate one or more identifiers for one entity into the
identifiers of another entity. Translate one or more
identifiers for one entity into the identifiers of another entity.
consumes:
- application/json
私はそれを試しました|と>、異なるエンディング(インデントと空行の増加)で、そして私が考えることができるあらゆる方法ですが、常に同じエラーが発生します。
YAML Syntax Error
Can not read a block mapping entry; a multiline key may not be an implicit
key at line 24, column 15: consumes: ^
私は、問題が最後にWindowsスタイルの改行であることを示すJS-YAMLのバグを見つけました。HTMLのテキスト領域が作成できることがわかっています。これは私が実際にYAMLを頻繁に使用するのは初めてです。それで、私が何か間違ったことをしているのでしょうか、それともSwaggerエディターのバグですか?
問題は、説明ブロックのテキストの書き方にあると思います。説明の右側に1レベルインデントする必要があります。これは、私にとって有効な例です。
/{user-id}:
get:
summary: Facebook User
description: |
Displays all information about a Facebook user, depending on access privileges. Displays all information about a Facebook user, depending on access privileges.
parameters:
- name: user-id
in: path
description: The Facebook user ID
required: true
type: string
実際のコードでは、説明は3行です。
JSONアプローチを追加したかった。 Swaggerエディターで純粋なJSONを使用して、二重構文の問題(学習、デバッグ、 web documentation などの解析)を回避しています。
"get": {
"description": "Hi\n\nThere",
何らかの理由で二重改行文字\n
は、少なくとも新しい行がSwaggerエディターでレンダリングされるために必要であるように思われました。しかし、公式のUber API YAML demo をJSONとしてエクスポートした場合(ファイル-> JSONとしてダウンロード)、結果のJSONには単一の改行文字しかなく、複数行のリテラルが示されていました。変だ。
インデントです。それは次のようになります:
post:
summary: Translate one or more identifiers
description: |
Translate one or more identifiers for one entity into the
identifiers of another entity. Translate one or more
identifiers for one entity into the identifiers of another entity.