サンプルアプリケーションの概要
サンプルアプリケーションは、前回と同様でログイン画面での認証を想定したもので、図1のようなものになります。
画面/UI関連の処理については、前回のコードを利用するのでそちらを参考にしてください。今回は、http通信を使って以下のような流れで説明します。
- http通信を使った場合のデータ連携(基本的な使い方を用いた連携方法)
- http通信を使った場合のデータ連携(ヘッダなどのカスタマイズなどより実利用を想定した連携方法)
想定するレスポンス結果
今回のhttp通信ではリスト1のようなレスポンスを想定します。
// (1) 成功の場合のレスポンスJSON { "code": 200, "ok": true, "message": "", "body": {} } // (2) エラーの場合のレスポンスJSON { "code": 400, "ok": false, "message": "許可されないリクエストです" }
成功またはエラーをokのtrue/falseで判断できるようにします。また、httpステータスコードに相当するコードを再度、codeで設定し、何かメッセージがあればmessageに設定されます。
例えば、処理が成功した場合には(1)のようなレスポンスが返って来ることを想定しています。データがある場合にはbodyに設定されます。また、エラーの場合には(2)のようなレスポンスが返ってくることを想定します。エラーメッセージがmessageに設定されます。
REST APIのような場合にはレスポンスデータ内にステータスを含めずHTTPのレスポンスコードをそのまま利用することが一般的です。
しかし、その場合、404コードなどが返ってきた場合には、リクエストしたURLが間違っているのか、処理した結果データが見つからなかったのかなどがわかりません。そのため、筆者は、サーバ側の環境エラーやリクエスト側の間違いやエラーと、サーバ側のプログラム処理が正常に処理された結果としてのエラーかを判別しやすいようによくこのような形式を使っています。