我正在尝试从API RAML文件创建新的API接口Mule配置。首先 - 我向Anypoint Exchange发布了一个API,然后将api从设计中心导入Anypoint Studio项目。现在,当我右键单击API RAML文件并从REST API中选择Mule> Generate Flows时,此选项将被禁用,我无法选择它。
我使用的是Mule 4和Anypoint Studio版本:7.3.2。我验证了API RAML文件,并且没有可见的错误。导致此选项被禁用的原因是什么?如何启用它?
下面是实际的API RAML文件。
#%RAML 1.0
version: v1
title: Accounts API
types:
Account: !include datatypes/account.raml
AccountNoID: !include datatypes/accountNoID.raml
/accounts:
get:
description: Retrieves accounts based on the given query parameters.
headers:
Requester-ID:
description: id of the person requesting the accounts information
required: true
queryParameters:
country:
required: false
type: string
name:
description: The system will look for names that contain the given value in the name parameter.
required: false
type: string
type:
required: true
type: string
enum: ["personal", "business"]
responses:
400:
body:
application/json:
example: {
"message": "Error retrieving data from the Account database."
}
200:
description: Returns an array of Account objects in JSON
body:
application/json:
type: Account[]
examples: !include examples/accountsExample.raml
post:
description: Creates new accounts based on a given array of Account objects.
headers:
Requester-ID:
description: id of the person requesting the accounts information
required: true
body:
application/json:
description: Payload should be an array of Account objects with all fields present for each Account object.
type: AccountNoID[]
examples: !include examples/accountsExampleNoID.raml
responses:
400:
body:
application/json:
example: {
"message": "Error creating accounts. Please check the JSON object and make sure it's valid."
}
201:
body:
application/json:
example: {
"message": "Accounts uploaded (but not really)."
}
如果该选项不可用,则意味着Studio无法解析RAML。
最近,Design Center对如何处理RAML中的示例节点进行了更改。
详细信息:https://docs.mulesoft.com/design-center/design-modify-raml-specs-conform
在这种情况下,Design Center中的RAML是有效的,但由于Studio中的错误,目前在Studio中看不到它是有效的。
尝试在RAML中使用命名示例作为examples
节点。
examples:
myNamedExample: !include examples/accountsExample.raml