LoginSignup
16
15

More than 5 years have passed since last update.

最小構成のJAX-RS サンプル

Posted at

最小構成でJAX-RSなアプリをビルドしてwarを作るための、いわゆるスケルトンのようなものです。

料理の仕方としては、pom.xmlを置いたディレクトリでmvn package して、生成したminimum-jax-rs.warをTomcatなどにデプロイし、http://localhost:8080/minimum-jax-rs/api/sample へアクセスすると、動作が確認できます。EclipseのWTPでビルド・実行しても良いです。

その後は、必要に応じて機能やテストやMavenのプラグインを足していけば良いと思います。

必要なファイル

EndPoint.java
package org.example;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/sample")
public class EndPoint {

  @GET
  @Produces(MediaType.TEXT_PLAIN)
  public String start() {
    System.out.println("access.");
    return "executed.";
  }
}

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">

  <servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>org.example</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/api/*</url-pattern>
  </servlet-mapping>
</web-app>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>minimum-jax-rs</artifactId>
  <version>0.0.1</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
      <groupId>org.glassfish.jersey.containers</groupId>
      <artifactId>jersey-container-servlet</artifactId>
      <version>2.22.1</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

ディレクトリ構成

この構成で、ファイルを配置してください。

│  pom.xml
│
└─src
    └─main
        ├─java
        │  └─org
        │      └─example
        │              EndPoint.java
        │
        └─webapp
            └─WEB-INF
                    web.xml

バージョン番号など

  • Java 8
  • Tomcat 8
  • JAX-RS 2.0
16
15
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
16
15