Java例外を返すAPI。安全?
Oct 23 2020
ここでの私の懸念が有効かどうかを尋ねたかっただけです。
APIがスタックトレースを返すことは安全ではないことを認識しています。私は、私が判断しようとしているのと似ていますが、それほどひどい状況ではありません。
Java例外を500応答にパッケージ化することに関する標準もありますか?たとえば、「DataIntegrityViolationException」、「NullPointerException」などを送り返しますが、スタックトレースはありません。
別の言い方をすれば、未処理の例外が発生すると、例外名が500応答で返送されます。スタックトレースはありませんが、たとえば、リクエストが無効な方法でDBを変更しようとした場合、クライアント側で推測できます。
私は現在、これに対してチームに警告し、サーバーの応答を「ホワイトリストに登録」する必要があることを伝えています(つまり、意識的な理由がある場合にのみコンテンツを送信します)。私はこれで彼らの時間を無駄にしているかどうか知りたかっただけです。
これは良い考えですか?
それとも、これよりも一般的である必要がありますか?
回答
1 schroeder Oct 28 2020 at 00:05
クライアントへのエラー処理の標準は、内部の仕組みについては何も公開せず、ユーザーが成功するために役立つものだけを提供することです。
Javaエラーメッセージの内容は、ユーザーを助けるために何もしません。最終的に行うことは、悪意のあるユーザーがあなたに対して使用する可能性のあるコードロジックを公開することです。
OWASPの例は、単にエラーがあることを示すためのものです。そしてそれが標準です。これを超える情報には、正当化する必要があります。