2017-01-09 13 views
0

私はミュール3.8.1でAnypointメーカー6.2を使用していAnypoint Studioで無効なJSONスキーマ応答を投げていると私は、API-ワークベンチでエラーが表示されないが、AnypointでJSONスキーマ無効なエラーを表示RAMLとJSONスキーマを追加しましたスタジオ。RAMLファイルは

私はRAML(すなわちRAML、特性および種類)にリンクされている私のJSONスキーマのすべての必須項目を削除するならば、すべてが動作することを発見しました。これを修正する方法はありますか?

私が使用しています必要な構文は次のとおりです。

"required": [ 
    "Organisation", 
    "Address" 
    ], 

を更新し、私もJSONスキーマへを使用した場合$ refが解決できないorg.mule.common.metadata.parser.json.SchemaException: java.net.MalformedURLException: no protocol:を見ていますDataweaveで使用するメタデータの種類を作成します。

{ 
    "id": "http://localhost:8000/schemas/products.json#", 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "title": "Products", 
    "type": "object", 
    "properties": { 
     "Products": { 
      "$ref": "common/text.json" 
     } 
    }, 
    "additionalProperties": false 
} 

おかげ

+0

は多分それが唯一のv3のスキーマをサポートしています。各フィールド(「v3スキーマ形式」)で「true」を入力してみてください – Pedro

答えて

1

は、私は同じことを行うので、それは間違いなく、Studioでサポートされています。 JSONスキーマファイル全体を見ることなく、原因を推測する必要があります。私は、JSONスキーマバージョンを指定していないか、間違ったものを指定していることを前提としています(v4ではなく、 )。私にとっては、次の作品:新たに追加に関して

{ 
    "$schema": "http://json-schema.org/draft-04/schema", 
    "type": "object", 
    "properties": { 
    "Organisation": { "type": "string" }, 
    "Address": { "type": "string" } 
    }, 
    "required": [ "Organisation", "Address" ] 
} 
+0

Pedroのアドバイスに従うと、すべての問題が解決され、必要な配列を使用して元に戻すとエラーになります現時点ではv3と互換性があるように見えます。最新のバージョンにもっと必要なことはありますか? – user3165854

+0

Bradが示唆しているように、 "$ schema": "http://json-schema.org/draft-04/schema"をjsonスキーマに追加しましたか? – Pedro

+0

ええ、Pedroのコメントと私の答えは、スキーマのバージョン4を指定する必要があります。私が言ったように、これは間違いなく私が取り組んでいるプロジェクトのスタジオで動作します。 –

0

- $ REF - 我々はまた、これを使用し、(つまり、メッセージが正しく検証されている)しかし、私が使用していないAPIKitによって正しく解決しているように見えますこれらのスキーマはDataweaveメタデータを作成するので、同じ動作をすることは保証できません(同じパーサを使用することを願っていますが、確かに言えません)。

Common.json:

{ 
    "$schema": "http://json-schema.org/draft-04/schema", 
    "definitions": { 
     "emailAddress": { 
      "description": "Basic RegEx for an email address", 
      "type": ["string","null"], 
      "pattern": "^[a-zA-Z0-9'._%+-][email protected][a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$" 
     } 
    } 
} 

Sample.json:

{ 
    "$schema": "http://json-schema.org/draft-04/schema", 
    "type": "object", 
    "properties": { 
     "email": { 
      "$ref": "common.json#/definitions/emailAddress" 
     } 
    } 
} 
関連する問題