0

JSONオブジェクトを返すPHPRESTfulAPIがあります。そのAPIからRESTリクエストをリクエストするAndroidクライアントがあります

これまで、サーバー側で問題が発生した場合、APIはbooleanic応答「false」を返しました

APIのフローを変更したいので、「false」を含むJSON応答を送信する代わりに、例外をスローし、Android側で例外をキャッチします。

だから基本的に、私は次のAndroidコードのようなものが欲しいです:

try {
    php_api.getUsers();
} catch (Exception ex) {
    // TODO
}

できますか?この方法でPHP例外がキャッチされますか?

4

1 に答える 1

1

私はJavaを使ったことがありませんが、それができるとは思いません。PHPが例外をスローした場合でも、例外処理の設定方法に応じて、何らかの出力が生成されます。スタックトレースなどの例外メッセージが表示される場合があります。しかし、クライアント(Javaアプリ)側では、これはテキストにすぎません。

ただし、REST応答には、確認できるヘッダーが常に含まれている必要があります。これを見てください:http://blog.zenika.com/index.php?post / 2011/05/18 / Error-handling-with-REST

そこに書かれていることに従うことで、JavaからPHPへのAPIは、コンテンツを返す前に常に応答ヘッダーを読み取ります。500または400が表示された場合は、APIからJava例外をスローし、それを使用するコードでキャッチできます。

PHP側が必要なヘッダーを送信していない場合は、いつでもPHPのエラー/例外処理をオーバーライドして、カスタム出力(ヘッダーを含む)を生成できます。

于 2012-10-12T08:01:51.413 に答える