2016-12-14 11 views
0

Мне предоставлен файл RAML, который будет использоваться в Mule, но у меня возникают проблемы с обработкой ошибок в файле и даже не уверен, что этот файл raml соответствует стандартам. Ошибки, которые я получаю, - это отсутствовать {}, а другая - в блоке, когда я удаляю версию. Не могу понять, как их решить.Невозможно разрешить ошибки файла raml

Ниже урезанная версия Raml:

#%RAML 0.8 
--- 
title: Databox 
version: v1 
protocols: [HTTPS] 
baseUri: https://databox/v1/{version} 
mediaType: application/json 
traits: 
    - http-data: !include http-data.raml 
resourceTypes: !include types.raml 

documentation: 
    - title: Home 
    content: | 
     Databox 1st draft 

/stores: 
    type: 
    store: 
     description: Stores 
     dataSchema: !include stores.json 

Уточнения (HTTP-data.raml):

responses: 
    200: 
    description: | 
     Success 

ResourceType (types.raml):

- store: 
    head: 
     description: Retrieve data for <<description>>. 
     is: [ http-data ] 
    get: 
     description: Retrieve data for <<description>>. 
     responses: 
     200: 
      body: 
      application/json: 
       schema: | 
       { 
       "type": "object", 
       "properties": { 
        "meta": { 
        "title": "Data", 
        "type": "object", 
        "properties": { 
         "createdOn": { 
         "type": "string", 
         "format": "date-time" 
         } 
        }, 
        "required": [ 
         "createdOn" 
        ] 
        }, 
        "data": { 
        "type": "array", 
        "items": <<dataSchema>> 
        } 
       }, 
       "required": [ 
        "data" 
       ] 
       } 
      description: | 
      Success. Returns a JSON object containing all <<description>>. 

Схема (stores.json):

{ 
    "id": "http://localhost:8000/stores.json#", 
    "$schema": "http://json-schema.org/draft-04/schema", 
    "title": "Databox Store Schema", 
    "type": "object", 
    "properties": { 
    "storeId": { 
     "type": "string" 
    }, 
    "storeDescription": { 
     "type": "string" 
    }, 
    }, 
    "required": [ 
    "storeId" 
    ], 
    "additionalProperties": false 
} 

Благодаря

+0

Вы можете разделить точные ошибки вы получаете? – Pedro

ответ

0

RAML действительна для этого <<dataSchema>> параметра, используемого в схеме JSon за исключением, не уверен, если это является допустимым использование параметров.

Я бы начал с замены этого <<dataSchema>> на json в store.json и повторите попытку.

Сообщите мне, если это работает или какие ошибки вы получите.

UPDATE:

AnyPoint портал Mulesoft в проверяет ваш Raml с только что одно изменение, вы можете увидеть его here

+0

Я заменил его <> с store.json, и у меня все еще есть ошибка "ожидается , но найден BlockEntry" выделен на 2-й строке файла RAML (----) в Mule – user3165854

+0

Удалить вторую строку "- - « – Pedro

+0

Я пробовал это, но, похоже, он переместил ошибку где-то в другом месте. Я заметил, что если я удалю схему из resourceType, тогда все ошибки исчезнут. Я перепечатал его, и ошибки возвращаются, когда я пытаюсь добавить «требуемые», а также «данные» с ссылкой <>. Добавление «обязательных» выглядит корректно, поэтому не уверен, почему это может привести к ошибке, а не обязательно о DataSchema. – user3165854