Исключение YAML - не удается прочитать неявную пару сопоставления - PullRequest
0 голосов
/ 26 сентября 2018

Исключение при выполнении replaceAll

YAML Исключение

can not read an implicit mapping pair; a colon is missed in "/home/serverless.yml" at line 144, column 99: ... ($input.body).replaceAll("\\'","'")"}'

Раздел serverless.yml, который выдает ошибку

      request:
        template:
           application/json: '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\'","'")"}'
           application/xml: '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\'","'")"}'
           text/xml: '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\'","'")"}'
      response:
        statusCodes:
          200:
            pattern: ''
            template:
              application/xml: '#set ($bodyObj = $util.parseJson($input.body)) $bodyObj'
          400:
            pattern: '400'
        headers:
          Content-Type: "'application/xml'"

1 Ответ

0 голосов
/ 26 сентября 2018

Это:

template:[enter image description here][1]
       application/json: '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\'","'")"}'

является недействительным YAML по различным причинам.

  • Ваш template:[enter image description here][1] является скаляром, а затем на второй строке вы начинаете отображение.Скаляры всегда являются листовыми узлами в структуре данных YAML.Не уверен, что вы действительно хотите там делать.
  • В

    '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\'","'")"}'
    

    вы должны избегать одинарных кавычек с помощью скаляра:

    '{"body": "$util.escapeJavaScript($input.body).replaceAll("\\''","''")"}'
    
...