Pembuatan RESTful Web Service “Hello World” dengan PHP & … · Halo.php diakses oleh...
Transcript of Pembuatan RESTful Web Service “Hello World” dengan PHP & … · Halo.php diakses oleh...
Membangun REST API dengan PHPSekedar Menyapa ☺
Membuat Direktori: C:\XAMPP\htdocs\API
• Nanti, semua file diletakkan di sini: halo.php (provider API), haloclient.php (customer API, sekaligus aplikasi web) dan .htaccess (URL rewriter)
3
Halo.php: Aplikasi Web Biasa, Belum API
• Jika id bernilai 5 tampilkan... Jika tidak... Dan jika tidak ada id-nya
4
Mengakses halo.php
5
Ingat Arsitektur Web Service
• Sumber data disediakan oleh API Provider
• Pengguna API adalah Aplikasi API Customer, bukan pengguna akhir (yang menggunaklan Web browser atau Mobile Apps).
• Aplikasi web biasanya disediakan oleh API Cusromer.
6
Database
API Provider
HTTP Server
API Customer
HTTP Server
User: Web Browser
Halo.php.htaccess
haloclient.php
Halo.php diakses oleh haloclient.php
• Pengguna (via Web Browser atau mobile apps.) tidak mengakses API Provider, tetapi mengakses aplikasi web: haloclient.php
• Haloclient.php juga bertindak sebagai API customer yang mengakses halo.php
7
User Mengakses haloclient.php
• http://localhost/api/haloclient.php
8
Sudah Sesuai Kaidah Web Service!
Tetapi Belum RESTful
Jadikan RESTful Web Service☺
• Belum RESTful:
http://localhost/api/halo.php?id=5
• Agar RESTful, URL Request Harus diubah menjadi, misalnya:
http://localhost/api/hello/5
• Manfaatkan URL Rewriter di sisi Provider: .htaccess
9
Contoh Akses dari Pengguna
10
Membangun REST API dengan JavaHello World!
Apa yang diperlukan?
• Java Virtual Machine (JDK) 1.8 atau dikenal dengan Java 8
• IDE: Eclipse, Netbeans edisi Enterprise (EE)
• Framework: Jersey, berisi banyak file .jar
• Server web atau Container: Tomcat 8 atau 8.5
• Web Browser
• Maven? Tidak harus!
12
Membuat REST API
• Dibuat di sisi Provider
• Langkah-langkahnya:1. Membuat Proyek Web Dinamis
2. Membuat Paket (Package)
3. Menyalin file .jar dari bundle Jersey
4. Mengkonfigurasi web.xml
5. Menulis kode program API
6. Menjalankan API di Container
13
Akan diperlihatkan langkah-langkah
pembuatan RESTful Web Service Simpel di Eclipse
Yang diperlukan:• JDK 1.8 atau terkenal dengan Java 8• EclipseEE : IDE pengembangan aplikasi Enterprise• Pustaka Jersey (download bundle .zip)• Web Server atau Container Tomcat 8 atau 8.5
1. Membuat Proyek Web DinamisFile > New > Dynamic Web Project
14
2. Membuat Paket: id.ac.trunojoyo.husniKlik Kanan Nama Proyek > New > Package
15
Struktur direktori setelah pembuatan
Package
16
3. Menyalin file .jar dari bundle Jersey
• Ekstrak bundle .zip dari pustaka Jersey
• Salin semua file berekstensi .jar ke dalam folder WebContent > META-INF > Lib
• Klik kanan nama Proyek > Build Path > Configure Build Path...
• Klik Add JARs...
• Lanjutkan.
4. Konfigurasi web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>RESTfulHelloWorld</display-name>
<servlet>
<servlet-name>REST Web Services Hello World</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>id.ac.trunojoyo.husni</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Web Services Hello World</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app> 17
5. Menulis Kode REST API: Kelas HelloWorldKlik Kanan Nama Proyek > New > Classpackage id.ac.trunojoyo.husni;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/helloworld") //Atur path ke URL dasar + /helloworld
public class HelloWorld {
// Metode ini dipanggil jika requestnya TEXT_PLAIN
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello World REST Web Services !";
}18
5. Menulis Kode REST API: Kelas HelloWorldKlik Kanan Nama Proyek > New > Class
// Metode ini dipanggil jika requestnya XML
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello World REST Web Services !</hello>";
}
// Metode ini dipanggil jika requestnya HTML
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello World REST Web Services !" + "</title>" +
"<body><h1>" + "Hello World REST Web Services !" + "</body></h1>" + "</html> ";
}
} //akhir kelas
19
6. Menjalankan REST APIKerjasama dengan Container Tomcat 8.5
• Klik kanan nama proyek > Run As > Run On Server
20
Klik Next
Klik Finish
Hasil Pengujian:
21
Langsung di Eclipse
Via Google Chrome!
String dalam format plain text
String dalam format HTML
Mengakses REST API Menggunakan Jersey
• Cukup mudah....
• Coba praktikkan secara mandiri!
• Coba juga gunakan kelas URL dari Java untuk mengakses Web Service RESTful tersebut
22