2016-12-14 1 views
0

J'ai reçu le fichier RAML à utiliser dans Mule, mais j'ai des problèmes pour résoudre les erreurs dans le fichier et je ne suis même pas sûr que ce fichier raml soit conforme aux normes. Les erreurs que j'obtiens sont pour missing {} et une autre est manquante lorsque je supprime la version. Impossible de comprendre comment les résoudre.Impossible de résoudre les erreurs de fichier RAML

Voici une version réduite du 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 

Les traits (http-data.raml):

responses: 
    200: 
    description: | 
     Success 

Le 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>>. 

Le schéma (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 
} 

Merci

+0

Pouvez-vous partager les erreurs exactes que vous obtenez? – Pedro

Répondre

0

RAML est valide, sauf pour ce paramètre <<dataSchema>> utilisé dans le schéma JSON, pas sûr que ce soit une utilisation valide des paramètres.

Je voudrais commencer par remplacer ce <<dataSchema>> pour le json dans stores.json et essayez à nouveau. Faites-moi savoir si cela fonctionne ou quelles sont les erreurs que vous rencontrez.

MISE À JOUR:

portail AnyPoint de MuleSoft valide votre RAML avec juste ce seul changement, vous pouvez le voir here

+0

Je l'ai remplacé <> avec stores.json et j'ai toujours l'erreur "attendu , mais trouvé BlockEntry" en surbrillance sur la 2ème ligne du fichier RAML (----) dans Mule – user3165854

+0

Supprimer la deuxième ligne "- - " – Pedro

+0

J'ai essayé mais ça semble déplacer l'erreur ailleurs. J'ai remarqué que si je supprime le schéma du resourceType alors toutes les erreurs disparaissent. Je l'ai retapé et les erreurs reviennent quand j'essaye d'ajouter "required" et aussi "data" avec la référence <>. Ajouter "requis" semble valide donc pas sûr pourquoi cela causerait une erreur, pas sûr de dataSchema – user3165854