2016-06-29 21 views
1

mulesoft apiデザイナーでRAML 1.0を使用しています。Raml 1.0サンプルとmulesoft mockingサービスのタイプ

私はapiレスポンスを記述するために型/プロパティを使いたいのですが、私はapiを実行してサンプルレスポンスを返すことができるようにモックサービスを有効にします。私は模擬サービスがこの例のjsonレスポンスを生成することができるサンプル値を型に渡したと思った。私はモックサービスを介してAPIを実行すると、これは私のテストRAML

#%RAML 1.0 
title: Test 
baseUri: https://mocksvc.mulesoft.com/mocks/<removed> 

types: 

    Email: 
    description: Email address 
    example: [email protected] 

/user: 
    get: 
    responses: 
     200: 
     body: 
      application/json: 
      properties: 
       email: Email 

は、私は私のレスポンスボディは、このことを期待されています

{ 
    "email": "[email protected]" 
} 

が、サービスは、それが何の情報も持っていないし、これを返すことを報告します体内で

{ 
    "message": "RAML had no response information for application/json" 
} 

答えて

1

いいえ、それはクールな機能だろうが、そのように動作しません。

あなたは応答の例を追加する必要があります。

... 
types: 

    Email: 
    description: Email address 

/user: 
    get: 
    responses: 
     200: 
     body: 
      application/json: 
      properties: 
       email: Email 
      example: { "email": "[email protected]" } 
+0

のreputabilityを高めていますそれぞれのレスポンスのサンプルを手動で作成してから、テーブルの1つを変更する必要があります。このテーブルを使用するすべてのapiのレスポンスを手動で編集する必要があります。 –

+0

テーブルを変更する場合は、例とタイプも変更する必要があります。 しかし、はい、私はあなたのポイントを参照して、ネストされたタイプの例を含めるといいです、あなたはその機能を求めることができますhttps://github.com/mulesoft/api-console – Pedro

+0

はい、私は1つの場所でタイプとサンプルを変更してください!興味があれば私は問題を開いた:https://github.com/mulesoft/api-console/issues/302 –

0

私たちはそこに、私たちが期待している例の種類を提供し、レスポンスボディにhttp://raml.org/developers/raml-200-tutorial

追加した例の下に、このリンクをチェックする必要があります複数の結果を提供することができます。

% RAML 1.0

タイトル:テスト BASEURI:https://mocksvc.mulesoft.com/mocks/

タイプ:

メール: 説明:電子メールアドレス 例:[email protected]

/ユーザ: get: 応答: 200: body: アプリケーション/ JSON: 特性: メール:メール 例: "メール":[ { "メール": "[email protected]"} ] RAML 1.0で

0

タイプタグがより強力です。あなたは、私は私のデータベーステーブルを表現するために型を使用して、異なるAPIを一緒にネストされた複数のテーブルからデータを返すことができる、とあれば欲しい快適ごとにカスタムタイプを設計しても、コード

#%RAML 1.0 
title: Brochure 
version: v1 
baseUri: https://mocksvc.mulesoft.com/mocks/63063930-851d-41cc-b021-36d8a435d800 # baseUri: http://localhost:8080 
protocols: HTTP 
mediaType: application/json 
types: 
    ModelTree: 
    type: object 
    properties: 
     modelTreeReference: string 
     brand: string 
     series?: string 
     constructionSeries?: string 
     bodyType?: string 
     AGModelCode?: string 
     UKModelCode?: string 
     levelCode?: number 
    Brochure: 
    type: object 
    properties: 
     recordNumber: number 
     partNumber: number 
     name: string 
     brand: string 
     brochureType: string 
     CRMGroup: string 
     CRMSubGroup: string 
     isActiveIndicator: string 
     modelTree: ModelTree 
    Status: 
    type: object 
    properties: 
     responseStatus: 
     enum: [COMPLETE, ERROR, FATAL] 
     responseId: number 
    Transaction: 
    type: object 
    properties: 
     status: Status 
     data: 
     type: object 
     properties: 
      brochures?: Brochure[] 
/brochures: 
    get: 
    responses: 
     200: 
     description: Status and a list of Brochures 
     body: 
      application/json: 
      example: { 
       status: { 
       responseStatus: 'COMPLETE', 
       responseId: 123 
       }, 
       data: { 
       brochures: [{ 
        recordNumber: 1, 
        partNumber: 56, 
        name: "Activity Brochure", 
        brand: "My Brand Ltd", 
        brochureType: "HARDCOPY", 
        CRMGroup: "Sales", 
        CRMSubGroup: "Lifestyle/Access", 
        isActiveIndicator: "N", 
        modelTree: { 
         modelTreeReference: "My Brand", 
         brand: "My Brand Ltd", 
         levelCode: 1 
         } 
        } 
       ] 
       } 
       } 
      type: Transaction 
関連する問題