##API呼ぶ
以下4つのパートに分かれています。(〇〇編は適当につけましたゆるして)
API呼ぶ【準備編】
API呼ぶ【コア編】
API呼ぶ【ハンドリング編】
API呼ぶ【コール編】
##ハンドリング編
コア層で実際にAPIをたたいたので、
今回の階層では出てきたエラーをハンドリングします
ここでいうエラーとは、Exceptionだけでなく
処理結果が不正である場合も含まれます
Facade.java
package facade;
import client.Client;
import exception.NantokaApiBadResultException;
import exception.NantokaApiUnknownException;
import model.RequestDto;
import model.ResponseDto;
public class Facade {
/** 処理結果コード正常 */
private static final String SUCCESS = "0";
/** APIクライアント */
private Client client = new Client();
/**
* APIを実行した結果を取得する
*
* @param request リクエストDTO
* @return レスポンスDTO
* @throws NantokaApiUnknownException 通信エラーや結果が存在しなっかった場合
* @throws NantokaApiBadResultException 処理結果不正の場合
*/
public ResponseDto nantokaApiFacade(RequestDto request)
throws NantokaApiUnknownException, NantokaApiBadResultException {
ResponseDto response = new ResponseDto();
try {
response = client.nantokaApiClient(request);
} catch (Exception e) {
// 通信系エラーの場合
throw new NantokaApiUnknownException(e.getMessage());
}
if (response == null) {
throw new NantokaApiUnknownException("なんも返ってこなかったよ");
}
if (!SUCCESS.equals(response.getResultCode())) {
throw new NantokaApiBadResultException("処理結果不正");
}
return response;
}
}
通信エラー系のExceptionの場合も、処理結果がなぜかnullだった場合も、
同じくUnknownException
で返すようにしてみました
まぁこっちの気持ちとしてはなんかよくわかんないエラーなので、まとめたいよね
あと処理結果が不正の場合も、こっちからしたらエラーみたいなものなのでExceptionとして返しました
ここまでで、APIを呼ぶ機能は完成したと言えます
あとはこいつを呼び出すだけなので、次回実際に使ってみましょう