ソースコードは一つだけ。設定ファイルは1行追加するだけ。それですぐにJAX-RSを動かせる。
JAX-RSはわからなくても大丈夫。JavaSEなのですぐ確認できる。
GradleまたはMaven環境さえあればよいのでNetBeansに限らないけど一応NetBeansで説明していく。
Gradleまたはmavenの環境を用意する
NetBeansであればGradleはプラグインを入れる必要がある。今回はGradleでやってみる。
メニューの「ツール」−「プラグイン」から入れる。
プロジェクトの新規作成
メニューから「ファイル」−「新規プロジェクト」を選ぶ。
カテゴリで「Gradle」を選びプロジェクトは「Single Gradle Project」を選ぶ。
依存ライブラリの追加
プロジェクトツリーからBuilde Scripts/Project/build.gradleを開く。
以下の部分があるので
dependencies { // TODO: Add dependencies here ...// You can read more about how to add dependency here:// http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:how_to_declare_your_dependencies testCompile group: 'junit', name: 'junit', version: '4.10' }
dependencies の中に
compile "org.glassfish.jersey.containers:jersey-container-jdk-http:2.24.1"
の1行を加える。
プロジェクトのリロード
プロジェクトツリーのルートアイコンを右クリックして「Reload Project」を選ぶ。
メインクラスを作る
import java.net.URI; import java.util.Scanner; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory; import org.glassfish.jersey.server.ResourceConfig; publicclass Main { //サーバー起動publicstaticvoid main(String[] args) { URI uri = UriBuilder.fromUri("http://localhost/").port(8080).build(); ResourceConfig config = new ResourceConfig(Calc.class); JdkHttpServerFactory.createHttpServer(uri, config); //Enter押すまで待つnew Scanner(System.in).nextLine(); System.exit(0); } //JAX-RSのコードをここに書く@Path("calc") publicstaticclass Calc { //http://localhost:8080/calc?a=1&b=2@GET@Produces(MediaType.TEXT_PLAIN) publicint add(@QueryParam("a") int a, @QueryParam("b") int b) { return a + b; } } }
サーバー起動
プロジェクトを実行する。F6でよい。
ブラウザ起動
上記のコードのコメント部分
//http://localhost:8080/calc?a=1&b=2
ここをCTRL+クリックする。
ブラウザが起動して結果が表示される。
NetBeansでは文字列やコメントでURLぽいものがあればブラウザで開けるのでコメントで描いておくと楽。