2017-02-03 39 views
1

Я получаю проблему с файлом типа .raml типа datatype, который я пытаюсь создать. По какой-то причине он заявляет, что я являюсь «Указание неизвестных фасетов» как ошибка.RAML Неизвестный facet 'types'

Каков правильный способ определения объекта в RAML?

#%RAML 1.0 DataType 
types: 
    Account: 
    type: object 
    displayName: Account 
    description: Salesforce Account Object 
    properties: 
     id: 
     type: string 
     description: Id of the Salesforce Account 
     ns_id: 
     type: string 
     description: Id of NetSuite Customer 
     name: 
     type: string 
     description: Name of Salesforce Account 
     phone: 
     type: string 
     description: Phone Number of Salesforce Account 
     website: 
     type: string 
     description: Website of the Salesforce Account 
     owner: 
     type: string # This probably needs to be of type Owner 
     description: Owner of Account 
     active_cmrr: 
     type: number 
     description: Active CMRR of Account 
     billing_address: 
     type: string 
     description: Billing Address of Account 
     subscription_start_date: 
     type: date-only 
     description: Salesforce Account Subscription Start Date 
     subscription_end_date: 
     type: date-only 
     description: Salesforce Account Subscription End Date 
     #Sometype of Opportunity list 
     #opportunities: 
     # type: Opportunity[] 
     # description: List of Account Opportunities 

ответ

4

В настоящее время вы используете так называемый фрагмент RAML, который фокусируется только на одном определении. В вашем случае - определение одного типа.

Вы начинаете определение нескольких определений типов, обычно используя types либо в корневом файле RAML (обозначенном #%RAML 1.0), либо в библиотеке (указано #%RAML 1.0 Library). Поэтому в зависимости от того, что вы пытаетесь достичь, вы либо модифицируете фрагмент типа данных, чтобы содержать только определение типа Account, либо вы меняете #%RAML 1.0 DataType на #%RAML 1.0 Library, чтобы вы могли упаковать несколько определений типов в один; или вы используете оба для максимального повторного использования.

Позвольте мне показать вам, как использовать оба:

account.raml

#%RAML 1.0 DataType 

type: object 
displayName: Account 
description: Salesforce Account Object 
properties: 
    id: 
    type: string 
    description: Id of the Salesforce Account 
    ns_id: 
    type: string 
    description: Id of NetSuite Customer 
    name: 
    type: string 
    description: Name of Salesforce Account 
    phone: 
    type: string 
    description: Phone Number of Salesforce Account 
    website: 
    type: string 
    description: Website of the Salesforce Account 
    owner: 
    type: string # This probably needs to be of type Owner 
    description: Owner of Account 
    active_cmrr: 
    type: number 
    description: Active CMRR of Account 
    billing_address: 
    type: string 
    description: Billing Address of Account 
    subscription_start_date: 
    type: date-only 
    description: Salesforce Account Subscription Start Date 
    subscription_end_date: 
    type: date-only 
    description: Salesforce Account Subscription End Date 
    #Sometype of Opportunity list 
    #opportunities: 
    # type: Opportunity[] 
    # description: List of Account Opportunities 

types.raml

#%RAML 1.0 Library 

types: 
    Account: !include account.raml 

В другом определении типа вы мог t купите библиотеку для ссылки на тип учетной записи. Например:

bank.raml

#%RAML 1.0 DataType 

uses: 
    types: types.raml 

type: object 
properties: 
    branch: string 
    accounts: 
    type: array 
    items: types.Account 

Надежда, что помогает! Дайте мне знать, если у вас возникнут дополнительные вопросы.

 Смежные вопросы

  • Нет связанных вопросов^_^