私はRESTful APIを設計しており、検証エラーメッセージに最適なフォーマットが何か不思議です。REST APIでの検証エラーの応答
user: {
first_name: string,
last_name: string,
address: {
street: string,
city: string,
zip_code: string
}
}
私の応答は次の形式になります:
例えばは、アカウントの作成エンドポイントは、JSONオブジェクトを受け入れ
:{
code: 400, // HTTP code
message: "Validation failed", // general message
type: "validation_failed", // there are other types of errors as well
errors: WHAT_DO_I_SHOW_HERE
}
私は、検証エラーメッセージのためのいくつかの選択肢を持っています
フォーマット1
errors: {
last_name: "First name is required",
address: {
zip_code: "ZIP code is invalid"
}
}
または形式のようエラーを平ら2
errors: {
last_name: "First name is required",
"address.city": "City is required",
"address.zip_code": "ZIP code is invalid"
}
または各要素は、フィールド名、エラーコード、エラーメッセージ、ネストされたエラーを有することができる配列を使用し、等
errors: [
{
field: "first_name",
message: "First name is required",
},
{
field: "address",
errors: [
{
field: "zip_code",
message: "ZIP code is invalid"
}
]
}
]
又は
errors: [
{
field: "first_name",
message: "First name is required",
},
{
field: "address.zip_code",
message: "ZIP code is invalid"
}
]
明らかフィールド名はオプションであるので、アレイフォーマットは、より柔軟性があるので、複数の金融商品取引法の組み合わせに関連するエラーを収容することができds(例えば、時間間隔の終了時間は開始時間の後でなければならない)。しかし、私の質問は、どちらがAPIユーザーが簡単に消費できるのでしょうか?