LoginSignup
5
4

More than 3 years have passed since last update.

[Java]eclipseでJerjey(Jax-rs)を利用したAPI作成

Last updated at Posted at 2020-01-22

はじめに

mavenとかgradleを使わないで実装する方法があんまりなかったので書こうと思います。

Jerjeyの導入

  • Jerjeyから最新版をDL。
  • jaxrs-ri-(version).zipを解凍し、中の[lib]ファイルの中身をEclipceで使うTomcatの[lib]内に入れる。

プロジェクトの作成

Eclipseで動的Webプロジェクトを作成し、
パッケージ[com.sample.api]とその下にクラス[SampleApi.java]を作成する。

web.xmlの作成

WebContent/WEB-INFに[web.xml]を作成し、以下をコピペ。

filename.xml
<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">

 <servlet>
  <servlet-name>jersey-app</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>com.api.sample</param-value><!--パッケージ名-->
  </init-param>

  <init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
 </servlet>

 <servlet-mapping>
  <servlet-name>jersey-app</servlet-name>
  <url-pattern>/api/*</url-pattern>
 </servlet-mapping>

  </web-app>

ApiSample.javaの編集

最初に作成したApiSample.javaを以下に編集。

ApiSample.java
package com.api.sample;

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;

@Path("/Sample")
public class ApiSample {
    @Path("/hello")
    @GET
    @Produces(MediaType.TEXT_HTML + "; charset=UTF-8")
    public String hello(@QueryParam("name") final String name){
        return "Hello!"+name+"さん。";
    }
}

実行

結果
Hello!nullさん。

と表示されればOK。
また、http://localhost:8080/プロジェクト名/api/Sample/hello?name=山田
と入力すれば

Hello!山田さん。

と表示されるはず。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4