为什么在anypoint平台中禁用“从REST API生成流”选项?

问题描述 投票:0回答:1

我正在尝试从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)."
            }
mule-studio anypoint-studio raml mulesoft
1个回答
0
投票

如果该选项不可用,则意味着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
© www.soinside.com 2019 - 2024. All rights reserved.