私は、JSON
がエンドポイントにPOST
であることを受け入れるSpringブートでRESTサービスを構築しました。私はPOST
JSON
スキームに対してjson-schema-validator
を使用して検証しています。検証エラーが発生した場合、JSON
にエラーメッセージが表示されます。 JSON
にエラーメッセージをクライアントに送り返します。私が持っている問題は、自分自身のJSON
オブジェクトにそれぞれのエラーメッセージが表示されることです。これは問題ではありませんが、1つのエラーメッセージがありますが、複数のエラーがある場合、すべてのエラーメッセージを持つJSON
メッセージが1つしかありません。現在、ProcessingReport
オブジェクトにエラーメッセージが表示されます。 ProcessingReport
を反復するをそれぞれJSON
に変換することができます。JSONオブジェクトのJSONリストを作成する
for(ProcessingMessage message : report) {
message.asJson();
}
各エラーメッセージは次のようになります。
{
"level": "error",
"schema": {
"loadingURI": "#",
"pointer": "/properties/parameterDateAdjusted"
},
"instance": {
"pointer": "/parameterDateAdjusted"
},
"domain": "validation",
"keyword": "format",
"attribute": "date-time",
"message": "string \"2017-02-29T23:59:00Z\" is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z]",
"value": "2017-02-29T23:59:00Z",
"expected": [
"yyyy-MM-dd'T'HH:mm:ssZ",
"yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z"
]
}
私はこのような何かを探して、複数のエラーメッセージを持っていると思います。これを行うための最善の方法だろう
{
"error": 1,
"message": {
"level": "error",
"schema": {
"loadingURI": "#",
"pointer": "/properties/parameterDateAdjusted"
},
"instance": {
"pointer": "/parameterDateAdjusted"
},
"domain": "validation",
"keyword": "format",
"attribute": "date-time",
"message": "string \"2017-02-29T23:59:00Z\" is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z]",
"value": "2017-02-29T23:59:00Z",
"expected": [
"yyyy-MM-dd'T'HH:mm:ssZ",
"yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z"
]
},
"error": 2,
"message": {
"level": "error",
"schema": {
"loadingURI": "#",
"pointer": "/properties/parameterDateUnadjusted"
},
"instance": {
"pointer": "/parameterDateUnadjusted"
},
"domain": "validation",
"keyword": "format",
"attribute": "date-time",
"message": "string \"2010-11-31T00:00:00Z\" is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z]",
"value": "2010-11-31T00:00:00Z",
"expected": [
"yyyy-MM-dd'T'HH:mm:ssZ",
"yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z"
]
}
}
何? List<Jsonnode>
のようなJSON
オブジェクトのList
を作成し、それをJsonnode
に変換できますか?または、エラーメッセージJSON
を連結することができますか?
あなたのメソッドに既に 'List'を返そうとしましたか? –