Pembuatan RESTful Web Service “Hello World” dengan PHP & … · Halo.php diakses oleh...

Post on 13-Feb-2019

242 views 0 download

Transcript of Pembuatan RESTful Web Service “Hello World” dengan PHP & … · Halo.php diakses oleh...

Pembuatan RESTful Web Service “Hello World” dengan PHP &

Java

Husni

Husni@trunojoyo.ac.id

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