こんにちは、かねこです。
はじめに
REST(Representational State Transfer)なAPIっていいですね。ということで、JavaEE7でJSR339 The Java API for RESTful Web Servicesが標準サポートされましたので、使ってみます。
環境
・NetBeans7.4
・JavaEE7
・DB なし
・Maven3.0.5(NetBeansに統合)
・Mac OS X Version10.9(Windowsでも手順まったく同じです)
Quick Start
NetBeansにJavaEE環境を構築します。手順はこちら。
環境ができたら、File -> New File -> Others -> RESTful Web Service from Patterns
パターンを選択。とりあえずコンテナとアイテムを選択
リソースとかMIMEタイプとか選択。JSONがかっこいいけど、めんどくさいからテキスト。
クラス完成。ここまで全自動!
ここまでで、GlassFish起動するとアクセスできるはず。URL調べるには、まずApplicationConfigみてアプリケーションのパスを確認
package jp.co.e2info;
import java.util.Set;
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
//(略)
webresourcesになってた。
続いて、Resourceクラスを確認
package jp.co.e2info;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.POST;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
/**
* REST Web Service
*/
@Path("/Items")
public class ItemsResource {
@Context
private UriInfo context;
//(略)
/Itemsで、こう。 → http://localhost:8080/jax-rs/webresources/Items
でた。
例外なげてるとこ、編集。
package jp.co.e2info;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.POST;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@Path("/Items")
public class ItemsResource {
// (略)
@GET
@Produces("text/plain")
public String getText() {
return "Hello :-)";
}
// (略)
とりゃ!
完成〜。POJOでの記述最高!
気が向いた時に続きます。
かねこでした。










