Dropwizard 使ってみた

Cofigurationクラス

ymlファイルから設定値を受け取るクラス。
ymlファイルの内容がこのクラスに設定される。



@NotEmpty
対象がnullでなく、空でないことを保証するためのアノテーション



@JsonProperty
わからーん




Applicationクラス

mainクラスとして実行されるクラス。



initialize
クラスが初期化した時やインスタンスが生成された時に、その直後に変数を初期化する。




Representationクラス(Hello.java

Jsonで返す値を保持するPOJO(普通のオブジェクト)を作成する。




Resourceクラス

Controllerにあたるもの。
JerseyのResourceクラスを作成する。
Applicationクラスに登録が必要。



Jersey
Javaで作るWebアプリをREST対応するために必要な作業を簡素化できる。



REST
HTTPを使ったシンプルなWebサービス
すべてのリソースは一意なアドレスで識別される。



@Timed
実行時間がログに残る。



@Produces
リソースのメソッドが生成し、クライアントに返却することができるMIMEタイプを指定する。



MIMEタイプ
WebサーバのWebブラウザ間でやりとりされるデータの中でファイル形式を表す識別子のこと。

ex)
ファイル形式  テキスト
一般的な拡張子 .txt
MIMEタイプ   text/plain



@GET
受信HTTPリクエストをJavaメソッドにマッピングして、リソースを取得する。



@QueryParam
受け取った値を、自動でURLデコード処理する。



@Encoded
URLデコード処理をして欲しくない時に使う。

ex)

public Hello say(@QueryParam("name") @Encoded String name) {

}



URLエンコード
ex) テキスト



URLデコード
ex) %83e%83X%83g





参考:Dropwizard入門 - Qiita