UnauthorizedException で WebApplicationException を拡張しました。
public class UnauthorizedException extends WebApplicationException {
私の REST クラスは、サブクラス メソッドである authCheck を実装する基本クラスを拡張します。
try{
authCheck();
RecordingList recordings = CODIRecording.getRecordings(type, timeframe);
return Response.ok().entity(recordings).build();
}catch(WebApplicationException e){
throw e; // Results in 500
throw new UnauthorizedException(); // Results in 401
}
authCheck が失敗すると、UnauthorizedException がスローされます。サブクラス メソッドに catch/try がない場合 (例外は authCheck から伝搬されるだけ)、または例外を再スローする場合、クライアントは 500 を受け取ります。
メソッドのキャッチがNEW UnauthorizedException をスローする場合、クライアントは予想どおり 401 を受け取ります。
これは「正常な」動作ですか?奇妙に思えます。