Я использую дизайнерский инструмент Mulesoft API для документирования своего API.
Я прочитал спецификацию RAML 1.0, и, насколько я понимаю, обе следующие конструкции должны быть законными, единственная разница заключается в способе доступа к json, который появляется в разделе 401
примеров.
/password:
post:
description: Verifies the supplied user name and password, returning the associated Customer Id
body:
type: tokens.password-verification-request
example: !include examples/password-verification-request.json
responses:
200:
body:
application/json:
type: tokens.password-verification-response-success
example: !include examples/password-verification-response-200.json
401:
body:
application/json:
type: tokens.error-response
examples:
invalidcredentials:
value: |
{
"failure" : {
"errors" : [ {
"code" : "ID10050",
"desc" : "Invalid User Credentials supplied"
} ],
"trackingId" : "e6d370da-3978-4dde-9e50-d485023cd47a"
}
}
accountlocked:
.......
а также
/password:
post:
description: Verifies the supplied user name and password, returning the associated Customer Id
body:
type: tokens.password-verification-request
example: !include examples/password-verification-request.json
responses:
200:
body:
application/json:
type: tokens.password-verification-response-success
example: !include examples/password-verification-response-200.json
401:
body:
application/json:
type: tokens.error-response
examples:
invalidcredentials:
value: !include examples/error.json
accountlocked:
.......
Второй из этих двух примеров отмечен дизайнером как ошибка, говоря, что он не может найти «сбой». Я предполагаю, что он делает это, пытаясь проанализировать содержимое файла error.json.
Я уверен, что файл error.json существует и находится в нужном месте. Я также рад, что он содержит правильный json (я скопировал json из этого файла в свойство examples
в примере 1 выше).
Я что-то не так делаю в !include
? Я неправильно понял спецификацию, и спецификация не допускает этого? Не путается ли инструмент конструктора API?