今天分享一下我的第一個最簡單的jersey example

參考資料: http://www.codedata.com.tw/java/java-restful-1-jersey-and-jax-rs

程式碼的部分是參考此篇文章,

但在步驟上有新增一些筆者沒有特別詳述的部分! 以及版本不同的細節

(我也是花了一點時間鬼打牆過來的QQ)

那麼~就開始我們第一隻Jersey Hello World! 吧

 

請先做好下列工具的安裝準備

我的環境:

(1) Eclipse:  Eclipse Java EE IDE for Web Developers. Version: Mars Release (4.5.0)

(2) Jersey: 2.6

(3) Maven: 4.0.0

(4) Tomcat: apache-tomcat-7.0.75

 

1. 開啟一個新的project

1-1. 打開eclipse > File > Other...

1-2. 在filter的blank處 輸入 maven > 選擇 Maven Project 

(Tips: 如果沒有出現這個選項, 請檢查你的eclipse版本是否沒有涵蓋Maven Project, 請參考我安裝的版本)

1-3. 選擇預設的workspace路徑, 你可以創建在任何位置, 在這邊我是放在我的Documents底下workspace

1-4. 開啟一個webapp

在Filter: 輸入webapp

選擇 Group id : org.apache.maven.archetypes, Artifact id: maven-archetype-webapp 的選項

1-5. 設定Archetype參數, 按下Finish! 完成

Group id: tw.com.codedata

Artifact id: JerseyExample

Version: 0.0.1-SNAPSHOT

Package: tw.com.codedata.jersey

2. 建立src/main/java 目錄

2-1 在左側Project Explorer 可以找到剛剛開啟的JerseyExample Project

右鍵在src/main上, 選 New > Folder

3. 設定 dependency

打開pom.xml檔 加入 dependency, 我的使用的版本為2.6

<dependency>

     <groupId>org.glassfish.jersey.containers</groupId>

     <artifactId>jersey-container-servlet</artifactId>

     <version>2.6</version>

</dependency>

4. 新增Application

4-1 在剛剛create好的 src/main/java, 點選右鍵 > New > Class

4-2 設定class參數, 按下Finish

Package: tw.com.codedata.jersey

Name: MyApplication

4-3 這時候左側就會自動長出下圖的目錄結構, 兩下點開MyApplication

4-4 貼上程式代碼

package tw.com.codedata.jersey;
 
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
 
@ApplicationPath("rest")
public class MyApplication extends ResourceConfig{
    public MyApplication(){
        packages("tw.com.codedata.jersey");
    }
}

5. 新增API

我們現在要建立 RESTful API Service拉

這邊就請大家參照4-1~4-4的步驟 改一下參數設定, 

5-1.  點選右鍵 > New > Class

5-2. 設定class參數, 按下Finish

Package: tw.com.codedata.jersey

Name: HelloRS

5-3. 兩下點開HelloRS

5-4. 貼上代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package tw.com.codedata.jersey;
 
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
 
@Path("/hello")
public class HelloRS {
 
    @GET
    public String sayHelloWorld() {
        return "Hello world";
    }  
 
    @GET
    @Path("/{name}")
    public String sayHello(@PathParam("name") String name) {
        return "Hello, " + name;
    }
}

6. 跑起你的Server, 完成!

url 輸入 /rest/hello

url 輸入 /rest/hello/<name>

 

簡簡單單~就完成你的第一支Jersey RESTful API!

改天有空再來補細節說明囉QQ

arrow
arrow

    she5206 發表在 痞客邦 留言(0) 人氣()