応答がJSONであるRestサービスとの統合を開発しています。
私が行う最初のリクエストは、ログインすることです。これには2つのリターンがあります。
通常、肯定的なログイン応答は次のようになります。
{"data":{"userID":"4f561b74001ff932afd58200a752b821","sessionID":"6cc960751eef45db83dd8db7f47337a6","versionInformation":{"currentAPI":"v2.0","buildNumber":"28b12d751c5ea88d393e68285ac57ed309ae04fa","apiVersions":{"v1.0":"\/attask\/api\/v1.0\/","v2.0":"\/attask\/api\/v2.0\/"},"lastUpdated":"2013\/02\/12 17:42:57","release":"R16","version":"4.0"},"locale":"pt_BR","timeZone":"America\/Sao_Paulo","timeZoneName":"Brasilia Time","iso3Country":"BRA","iso3Language":"por","currency":{"useNegativeSign":true,"fractionDigits":2,"symbol":"R$","ID":"BRL","groupingSeparator":".","decimalSeparator":","}}}
フォーマットが変更されないことを前提として、GSONを使用してこれを逆シリアル化することに問題はありません。しかし、JSON応答が別の方法で届いた場合はどうなるでしょうか。間違ったユーザー名/パスワードでログインしようとしたように?
否定的な反応は次のようになります。
{"error":{"class":"com.attask.biz.externallogin.ExternalLoginException","message":"The following error occurred while authenticating with an external system: Invalid password"}}
だから私の質問は、逆シリアル化するのに最も適切なオブジェクトをGSONに選択させる方法はありますか、それとも正しくなり、キャッチブロックで処理すると仮定して逆シリアル化を試みる必要がありますか?
私はそれを明確にできることを願っています、そして私は提案を楽しみにしています。
乾杯
パウロ・アルメイダ