私はREST環境に新しいです、私は非常に単純なBeanがResquestBody JSONの一部としてキーまたは重複キー値が重複していると、REST環境で不正な要求が発生しますか?
public class Operations
{
String operationName,
int operationPriority,
boolean isOperationParallel,
boolean expirationPolicy
}
ので、JSONはにサーバー側で
'{
"operationName": "NewOperation",
"operationPriority": 2,
"isOperationParallel": false,
"expirationPolicy": 30
}'
だろうオペレーション豆にリクエストを作成するには、次のプロパティでの操作の呼び出されていJSONを私が使用しているオペレーションBeanにマップします。デフォルトでは、重複キーが与えられ、最後のキー値でオーバーライドされます。例えば、operationName
はNewOperationTwo
'{
"operationName": "NewOperation",
"operationName": "NewOperationTwo",
"operationPriority": 2,
"isOperationParallel": false,
"expirationPolicy": 30
}'
今私はHTTPステータスレスポンスとして400 BAD_REQUEST
になるはずであることを私たちのQAから聞きました。「Dog」のような未知のプロパティの場合は、400応答にもつながるはずです:「Barks」もリクエストボディの一部として渡され、デフォルトではJacksonによっても無視されます。
私の要点は、要求を解析して重複している不明なプロパティを見つけることで400
を送信するのは大丈夫ですが、このオーバーヘッドが必要ですか?なぜなら、それが委任であれば、Springはデフォルトで応答BAD_REQUEST
を返すはずだからです。
標準REST APIレスポンスがリクエスト本体の重複したキーと未知のキーのためにどのようなものになるのか、BAD_REQUESTをレスポンスとして返さないとどうなるでしょうか?
これはまさに私が言っていることですが、 'application/x-www-form-urlencoded'や' mulitpart/from data 'のように必須ではありません。フォームデータとレスポンスボディー、またなぜオーバーヘッドを取るのか、結果はどうなるでしょうか?今は小さなJSONの場合は、非常に大きな入れ子になった複雑なJSONの場合はどれくらいの処理が必要ですか? –
詳細については、 –
の更新プログラムを参照してください。しかし、より簡単に見つけられます。詳細については、アップデート2を参照してください。 –