3.RESTful API程式設計框架(公式)

Download Report

Transcript 3.RESTful API程式設計框架(公式)

RESTful API 實作教學
報告者 : 紀鈞耀
指導教授 : 陳朝鈞
NCKU, IMIS
Manufacturing and Mobile Database Laboratory
Nov. 10, 2014
Program Outline
2

1.架設可執行RESTful API 與程式設計環境
 Eclipse(含JDK)、Tomcat、Jersey

2.Jersey用於開發RESTful API的註釋 (annotation)說明
 Annotation: 描述Java Class跟Http的對應

3.RESTful API程式設計框架(公式)

4.實作RESTful API 範例(以post、get、put、delete為例)

5.測試RESTful API方法及說明(Postman、Java client)

6.實際操作

7.Q&A
1.架設可執行RESTful API 與程式設計環境

JAX-RS的技術跟Java Web Service,它只提供了技術標準,可
以允許各家廠商有自己的實作,本次教學用的Jersey就是實作
之一。

可執行RESTful API與程式設計的環境需要兩項元素
 Java Web Service
 Jersey

使用Java Web Service需要有以下四個要素
 (1) JDK 7
 (2) Eclipse IDE for Java EE Developers
 (3) Apache Tomcat
 (4) Axis 2服務包
安裝Java Web Service所需環境

1.安裝JDK7
Step 1. 先查看自己的電腦為32 Bit或64 Bit,到
http://www.oracle.com/technetwork/java/javasebusiness/downloads/javaee-sdk-6u3-jdk-7-downloads-439818.html下載符合自己電腦的JDK 7,我
的作業系統是Win7 X64, 所以我下載的是jdk-7-windows-x64.exe。
安裝Java Web Service所需環境
Step 2.
下載完後,執行exe檔,進行安裝。
Step 3.
到C:\Program Files\Java 找剛剛所安裝的JDK 7版本資料夾,以本範例為
C:\Program Files\Java\jdk1.7.0_03。
接著,複製C:\Program Files\Java\jdk1.7.0_03\bin路徑。
Step 4.
我的電腦>右鍵內容>進階系統設定>「進階」頁籤>環境變數。
安裝Java Web Service所需環境
Step 5.
Step 6.
系統變數>Path>編輯。
在變數值上加上一個「;」分號後,再把剛剛
複製的C:\Program Files\Java\jdk1.7.0_03\bin路徑
貼上去。
安裝Java Web Service所需環境
Step 7.
查看JDK 7是否安裝與設定成功。開始>執行>CMD>打開命令提
示字元,輸入java>Enter會出現一堆訊息,代表JDK 7已安裝與設
定成功。
安裝Java Web Service所需環境

2.安裝Eclipse IDE for Java EE Developers
Step 1.
下載Eclipse IDE for Java EE Developers,下載前請先確認自己電
腦是32 Bit或64 Bit,下載位置http://www.eclipse.org/downloads/
安裝Java Web Service所需環境
Step 2.
點選[Taiwan] Computer Center, Shu-Te University (http)即可下載
Step 3.
將下載完的Eclipse解壓縮到D槽,本範例安裝路徑為D:\eclipse,
可依照自己喜好選擇路徑。
安裝Java Web Service所需環境
Step 4.
Step 5.
打開Eclipse,選擇儲存程式
Eclipse IDE for Java EE Developers
資料夾的預設路徑,
安裝完成。
本範例為D:\workspace,按OK。
安裝Java Web Service所需環境

3. 安裝Apache Tomcat
Step 1.
到http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.25/bin/ 下載
apache-tomcat-7.0.25.exe。
Step 2.
安裝Tomcat 7,選取所需要安裝的項目。
安裝Java Web Service所需環境
Step 3.
Step 4.
設定HTTP的Port:本範例用
選擇所下載jre的位置,本範例路徑為
預設8080,設定Tomcat的帳號 C:\Program Files\Java\jre7,按下Next
密碼,按下Next。
安裝Java Web Service所需環境
Step 5.
Step 6.
選擇Tomcat安裝的路徑,
開始 > 所有程式 >
本範例路徑為D:\Program Files\ Apache Tomcat 7.0 Tomcat7 >
Apache Software Foundation
Configure Tomcat,按下Start,
\Tomcat 7.0,按下Install。
開啟服務。
安裝Java Web Service所需環境
Step 7.
在瀏覽器上打上http://localhost:8080,看到以下畫面代表服務安裝
成功。
安裝Java Web Service所需環境

4.安裝與設定Apache Axis 2
Step 1.
到http://axis.apache.org/axis2/java/core/download.cgi 下載最新版
本的Axis 2,選擇Binary Distribution zip。
安裝Java Web Service所需環境
Step 2.
將下載的axis2-1.6.2解壓縮到D:\Program Files\Apache Software
Foundation\ (本範例的路徑為D:\Program Files\Apache Software
Foundation\,可依照自己的喜好選擇路徑)。
Step 3.
打開Eclipse並設定環境。Window > Preferences,接著 Server >
Runtime Environments > Add,選 Apache Tomcat v7.0 然後按下
Next。
(2)
(3)
(1)
(4)
安裝Java Web Service所需環境
Step 4.
選擇剛所安裝Apache Tomcat的路徑D:\Program Files\Apache
Software Foundation\Tomcat 7.0,JRE選擇jre7,按下Finish。
(1)
(2)
(3)
安裝Java Web Service所需環境
Step 5.
設定Web Service。Window > Preferences,接著 Web Services >
Axis2 Preferences,Axis2 runtime location選擇剛所安裝的axis21.6.2路徑D:\Program Files\Apache Software Foundation\axis21.6.2 > OK。
(2)
(1)
(3)
架設Jersey和設定所需環境

1.下載Jersey
Step1.下載Jersey libery 1.18 官網下載網址:
https://jersey.java.net/download.html
下載Jersey libery1.18
架設Jersey和設定所需環境

2.建立Dynamic Web Project和環境設定
Step1. File → New → Dynamic Web Project,按下Finish
(1)
(2)
(3)
Finish後開啟Project
架設Jersey和設定所需環境
Step2.將所下載的Jersey的.jar檔放到WEB-INF/lib/
 Jersey-archieve-1.18/lib裡的JAR檔放到WEB-INF/lib/
架設Jersey和設定所需環境
Step3.設定web.xml

再WEB-INF/lib file新增一個web.xml,
並加入以下內容。
URL格式是遵循以下規則:
http://IP:Port/ProjectName/URL-pattern/ClassName/functionName/Parameter
輸入RESTful API的所在package
http://tripdatabase.cloudapp.net:8080/HiBA-DB/trip/getGPSLocation/JunYao
2.Jersey用於開發RESTful API的註釋 (annotation

JAX-RS使用annotation (標註) 來簡化資源位置跟參數的
描述,大大的減少開發RESTful Web Services的複雜度。
2.Jersey用於開發RESTful API的註釋 (annotation
Resource的位置
Http request類型
可返回的資料型態
(Server端的output)
3.RESTful API程式設計框架(公式)

要把RESTful API能夠透過URL做服務,需遵循一些規則,
 重點在web.xml的撰寫和annotation的使用能夠設計出透過
URL來做服務
 以http://IP:Port/為例

Step1.再WEB-INF/lib file新增一個web.xml
3.RESTful API程式設計框架(公式)

Step2.在web.xml加入以下內容
3.RESTful API程式設計框架(公式)

Step3.在http://IP:Port/加入Project name的位置
URL格式是遵循以下規則:
http://IP:Port/ProjectName/
3.RESTful API程式設計框架(公式)

Step4.在http://IP:Port/ProjectName/加入URL-pattern
URL格式是遵循以下規則:
http://IP:Port/ProjectName/URL-pattern/
3.RESTful API程式設計框架(公式)

Step5.在web.xml內加入RESTful API所在的package
找到RESTful API 所在package
3.RESTful API程式設計框架(公式)

Step6.建立REST程式,在http://IP:Port/ProjectName/URLpattern/加入ClassName
URL格式是遵循以下規則:
http://IP:Port/ProjectName/URL-pattern/ClassName/functionName
3.RESTful API程式設計框架(公式)

Step7. 在http://IP:Port/ProjectName/URLpattern/ClassName/functionName加入FunctionName
URL格式是遵循以下規則:
http://IP:Port/ProjectName/URL-pattern/ClassName/functionName/
3.RESTful API程式設計框架(公式)

Step7.在http://IP:Port/ProjectName/URLpattern/ClassName/functionName/加入Parameter
URL格式是遵循以下規則:
http://IP:Port/ProjectName/URL-pattern/ClassName/functionName/Parameter
4.實作RESTful API 範例(以post為例)

傳送每秒gps資料置資料庫
透過post的url將gps資料傳至
資料庫
4.實作RESTful API 範例(以get為例)

透過GET request從資料庫抓取data
透過get request的url將資料從
資料庫抓取data
5.測試RESTful API方法及說明(Postman)

將RESTful API佈署在Tomcat Server上,並以下列URL作為RESTful
的連結網址。


以http://tripdatabase.cloudapp.net:8080/HiBA-DB/trip/getGPSLocation/JunYao為例
Postman 是一個 Chrome 的 Extension以下為Postman模擬HTTP
request的示意圖。(request以get為例)
5.測試RESTful API方法及說明(Java client)

在Java client端呼叫RESTful api,測試RESTful api是否正確
能夠使用。
Jersey client to send a “GET” request
Return json形式的資料
印出GET request的資料
6.實際操作
7.Q&A