入力が空白の場合は例外をスローするメソッドがあります。入力(この場合はリスト)は、空であれば例外をスローします。私はJUnitを使用してこれをデバッグし、[]
で渡すことで例外がスローされることを確認できます。しかし、私のフロントエンドのアプリケーションでは、空のリストを渡すとレスポンスのステータスが200(開発者用コンソールに表示されます)のままです。例外をスローして、レスポンスステータス500を生成してはいけませんか?少なくともそれが私が探しているものなので、ユーザーにエラーメッセージを返すことができます。応答ステータスを500にするにはどうすればよいですか?私は春のフレームワークを使用しています。ここJavaスロー例外でまだ200のステータスコードが生成されています
public Boolean validate(List<HashMap<String, Object>> myList) throws MyException{
Boolean hasErrors = false;
if(!myList.isEmpty()){
//logic goes here
....
} else{
hasErrors = true;
throw new MyException("myList shouldn't be empty ");
}
return hasErrors;
}
Exceptionクラス:
public class MyException extends Exception {
public MyException() { super(); }
public MyException(String message) { super(message); }
public MyException(String message, Throwable cause) { super(message, cause); }
public MyException(Throwable cause) { super(cause); }
}
任意の助けいただければ幸いです。
HTTPエンドポイントのコードも投稿できますか? 'validate'は間違いなく' MyException'を投げますが、例外が上に上がっているように見えます。 – hugh
あなたのRESTコントローラクラスのコード実装を共有してください –