ハマログ

株式会社イーツー・インフォの社員ブログ

JAX-RSでREST形式のサービスを作成するの巻

こんにちは、かねこです。

はじめに

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

Screen Shot 2013-11-20 at 11.52.20

パターンを選択。とりあえずコンテナとアイテムを選択

Screen Shot 2013-11-20 at 11.52.27

リソースとかMIMEタイプとか選択。JSONがかっこいいけど、めんどくさいからテキスト。

Screen Shot 2013-11-20 at 11.53.00

クラス完成。ここまで全自動!

Screen Shot 2013-11-20 at 11.54.01

ここまでで、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

でた。

Screen Shot 2013-11-22 at 12.33.15

例外なげてるとこ、編集。

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 :-)";
    }
    // (略)

とりゃ!

Screen Shot 2013-11-22 at 12.36.15

完成〜。POJOでの記述最高!
気が向いた時に続きます。

かねこでした。

JavaJavaEEJAX-RSJCPJSONJSRRESTtext/htmlXML

  kaneko tomo   2013年11月22日


関連記事

Vim Racer

エディタ論争 エンジニア界隈でエディタと言えばしばしば論争の種になるほどだが私は…

SmartyテンプレートへのPHP記述方法について

どうも!宇都宮です! 今回は業務の備忘録を書きたいと思います。 Smartyへの…

Postfixから送信するメールにDKIMを設定する

はじめに LINUXサーバで可動しているPostfixから送信しているメールが迷…


← 前の投稿

次の投稿 →