JAX-RSで必須の@QueryParam(と、それがない場合の対処法)
2023-08-01 14:09:30
質問
Webサービスコンポーネントを JBoss アプリケーションサーバ 7 を使用しています。 RESTEasy JAX-RS の実装を使用します。
必須、必須を宣言するアノテーションはありますか? @QueryParam のパラメータを JAX-RS ? また、そうでない場合、そのようなパラメータが欠落している状況に対処するための「標準的な」方法は何でしょうか?
私のWebサービス(リソース)メソッドは、すべての必須引数で適切に呼び出されたとき、JSON文字列化された結果を返します。しかし、必須パラメータが不足していることを呼び出し元に示す最善の方法は何なのかわかりません。
どのように解決するのですか?
良い質問ですね。残念ながら(あるいは幸いにも)、JAX-RSにはパラメータを必須にする仕組みがありません。もしパラメータが提供されない場合、その値は
NULL
となり、リソースはそれを適切に処理する必要があります。私は
WebApplicationException
を使用してユーザーに知らせることをお勧めします。
@GET
@Path("/some-path")
public String read(@QueryParam("name") String name) {
if (name == null) {
throw new WebApplicationException(
Response.status(Response.Status.BAD_REQUEST)
.entity("name parameter is mandatory")
.build()
);
}
// continue with a normal flow
}
関連
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
型に解決できない エラー解決
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] JDKとJREの違いは何ですか?
-
[解決済み] JAX-RSとJerseyでRESTトークンベースの認証を実装する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
プロジェクトの依存関係を解決できない。
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
Junitのユニットテストはjava.lang.Testを報告します。
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
ApiModel と @ApiModelProperty の使用法