Web Service – REST – Cara Read Data (R). Read atau membaca data pada web service kali ini sama dengan web service sebelumnya menggunakan SOAP. Letak perbedaannya adalah untuk model yang kali menggunakan REST. Pada model REST CRUD dilakukan menggunakan tag xml untuk memprosesnya. Namun Untuk eksekusi yang dilakukan tampa perlu library tambahan, dan hany a menggunakan fungsi-fungsi curl yang ada pada php sendiri.
Web Service – REST – Cara Read Data (R)
Untuk membuat aplikasi web service client server menggunakan model REST sebagai bentuk respon dari requestnya dapat berbentuk JSON adan juga xml. Untuk Response ini dapat kamu buat sebagai sarana untuk membuat sebuah web api.
Nah berikut ini akan saya jelaskan bagaimana membuat web service dengan model rest untuk menampilkan data menggunakan XMl.
Sebenarnya tutorial ini menjadi satu kesatuan dalam konsep pemrograman yaitu CRUD (create, read, update, delete) namun agar mudah dipahami setiap tutorial di pecah-pecah.
Langkah-langkah:
1. Buat folder dengan nama “REST” ( bisa bebas). Kemudian buat 1 lagi folder di dalam folder tersebut dengan nama “SERVER” nah ini nanti sebagai folder penyimpanan server. Pada implementasinya server bisa di tempatkan di direktori berbeda atau bahkan di pc, atau laptop lain. Sedangkan untuk file client, pada tutorial ini akan di tempatan di folder root REST.
2. Buat database dengan nama “UKM” (bisa bebas), kemudian importkan sql berikut ini pada database kamu, pada kasus ini kita akan menampilkan data barang yang ada pada server menggunakan client.
-- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: May 26, 2017 at 03:31 AM -- Server version: 10.1.10-MariaDB -- PHP Version: 5.6.19 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `ukm` -- -- -------------------------------------------------------- -- -- Table structure for table `barang` -- CREATE TABLE `barang` ( `idBarang` int(11) NOT NULL, `kodeBarang` varchar(15) NOT NULL, `namaBarang` varchar(200) NOT NULL, `satuanBarang` varchar(15) NOT NULL, `stokBarang` int(11) NOT NULL, `hargaBarang` int(11) NOT NULL, `foto` varchar(250) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `barang` -- INSERT INTO `barang` (`idBarang`, `kodeBarang`, `namaBarang`, `satuanBarang`, `stokBarang`, `hargaBarang`, `foto`) VALUES (2, 'KB-MHJ', 'Jilbab Panjang Sekali', 'pcs', 221, 15000, 'Islamic_Wallpaper_Allah_014-1440x900.jpg'), (3, 'KP-WHDP', 'Dompet Wanita Dua Pari Hijau', 'pcs', 115, 10000, 'tulis.jpg'), (4, 'HK-B', 'Handuk Kecil Biru', 'pcs', 87, 23000, '1094969_hand_writing.jpg'); -- -- Indexes for dumped tables -- -- -- Indexes for table `barang` -- ALTER TABLE `barang` ADD PRIMARY KEY (`idBarang`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `barang` -- ALTER TABLE `barang` MODIFY `idBarang` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
3. Kemudian pada folder “SERVER” silahkan buat file server.php dan di folder root “REST” buat file php read.php
4.Isi file server.php, dengan script di bawah ini:
$server = "localhost"; $username = "root" ; $password = "" ; $database = "ukm"; $con = new mysqli($server,$username,$password,$database); if($con->connect_error){ die("Koneksi gagal: ".$con->connect_error); } header('Content-Type: text/xml; charset=ISO-8859-1'); switch($_SERVER['REQUEST_METHOD']){ case 'BARANG': $result = $con->query("SELECT * FROM barang"); echo "<data>"; while ($line = $result->fetch_assoc()) { echo ""; foreach ($line as $key => $col_value) { echo "<$key>$col_value"; } echo ""; } echo "</data>"; break; } ?>
Penjelasan:
header(‘Content-Type: text/xml; charset=ISO-8859-1’);
Merupakan sebuah fungsi yang digunakan untuk membuat output sebuah script diatas menjadi xml. Dan xml inilah yang akan di baca dan di tampilkan di client. Perlu diketahui, untuk output xml kelebihannya adalah nantinya bisa digunakan untuk multi device baik perangkat mobile dan juga perangkat dekstop, Untuk bahasa pemrogramannya juga dapat di akses menggunakan multi bahasa misal java dan juga delpi.
$_SERVER[‘REQUEST_METHOD’]
Merupakan fungsi web server untuk mengeksekusi metode web service rest, Untuk method nya bisa GET, PUT, UPDATE.
5. Isi read.php dengan script di bawah ini:
<?php $server = 'http://127.0.0.1/rest/server/server.php'; $client = curl_init($server); curl_setopt($client, CURLOPT_CUSTOMREQUEST, "BARANG"); curl_setopt($client, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($client); curl_close($client); $xml = simplexml_load_string($response); echo '<table>'; $i=0; foreach ($xml as $u) { $i++; echo "<tr> <td>".$i."</td> <td>".$u->idBarang."</td> <td>".$u->kodeBarang."</td> <td>".$u->namaBarang."</td> <td>".$u->hargaBarang."</td> <td>".$u->stokBarang."</td></tr>"; } echo '</table>'; ?>
Oke demikian tutorial Web Service – REST – Cara Read Data (R) untuk mengakasesnya silahkan akses url:
http://localhost/rest/read.php
Semoga bermanfaat.