Glassfish 3 で実行されている REST アプリケーションを構築していますが、パラメーターが列挙型にバインドされている場合の処理に問題があります。
@FormParam("state") final State state
したがって、State は単なる列挙型であり、さまざまな種類の状態が含まれています。
解析できない値が送信された場合、http 400 が返されます。これは基本的に問題ありません。ただし、その例外をインターセプトし、クライアントに追加情報を提供するカスタム レスポンスを返す必要があります。(たとえば、説明を含む json オブジェクト:「状態が無効です」)。パラメータを独自のクラスにバインドし、例外処理に適切に対処できましたが、列挙型を使用する場合にこのケースを処理する方法に関する情報が見つかりませんでした。そのためにも専用のクラスを使用できると思いますが、列挙型を保持できる場合は避けたいと思います。