PHP LUMEN REST CRUD
PHP LUMEN REST CRUD
Kita
akan membuat service menggunakan PHP Lumen yang bisa melakukan aksi CRUD
(Create, Read, Update, Delete) berdasarkan pada Restful API Design.
1.
Endpoint
Di bawah ini adalah Endpoint yang akan implementasikan
berdasarkan Restful API Design:
Method (HTTP Verbs)
|
Endpoint |
Description |
GET |
/posts |
Get list of all post |
GET |
/post/{postId} |
Get single post |
POST |
/users |
Create new post |
PUT |
/post/{postId} |
Update single post |
DELETE |
/post/{postId} |
Delete single post |
2.
Fungsi
Create
Untuk membuat fungsi create, mari kita ikuti
langkah-langkah berikut ini:
1) Buka
file routes/web.php, dan tambahkan code ini
$router->get('/mahasiswa', 'MahasiswaController@index');
$router->post('/mahasiswa', 'MahasiswaController@storeData');
2) Buka
file app/Http/Controllers/MahasiswaController.php dan tambahkan code ini:
use Illuminate\Http\Request;
//Create Data
public function storeData(Request $req)
{
$input = $req->all();
$post = Mahasiswa::create($input);
return response()->json($post, 200);
}
3) Buka
file app/Models/Mahasiswa.php dan tambahkan code ini untuk untuk melakukan
update field created_at dan updated_at secara otomatis
public $timestamps = false;
4) Buka aplikasi Postman untuk melakukan pengetesan. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
3.
Fungsi
Read All
Untuk membuat fungsi read all, anda hatrus
menyelesaikan dulu module ‘PHP Lumen Database’. Implementasi di controller nya
adalah fungsi index di Mahasiswa Controller.php:
1) Buka aplikasi Postman untuk melakukan pengetesan. Dibawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
4.
Fungsi
Read Detail
Untuk membuat fungsi read detail, mari kita ikuti
langkah-langkah berikut ini:
1) Buka
file routes/web.php, dan tambahkan code ini: Line 36
$router->get('/mahasiswa', 'MahasiswaController@index');
$router->get('/mahasiswa/{id}', 'MahasiswaController@showData');
$router->post('/mahasiswa', 'MahasiswaController@storeData');
2) Buka
file app/Http/Controllers/MahasiswaController.php dan tambahkan code ini:
//Read data By Id
public function showData($id)
{
$post = Mahasiswa::find($id);
if(!$post){
abort(400);
}
return response()->json($post, 200);
}
3) Buka
aplikasi Postman untuk melakukan pengetesan. DIbawah ini adalah tampilan
Postman untuk melakukan testing dan berhasil.
5.
Fungsi
Update
Untuk membuat fungsi read detail, mari kita ikuti
langkah-langkah berikut ini:
1) Buka
file routes/web.php, dan tambahkan code ini:
$router->get('/mahasiswa', 'MahasiswaController@index');
$router->get('/mahasiswa/{id}', 'MahasiswaController@showData');
$router->post('/mahasiswa', 'MahasiswaController@storeData');
$router->post('/mahasiswa/{id}', 'MahasiswaController@updateData');
2) Buka
file app/Http/Controllers/PostsController.php dan tambahkan code ini:
//Update Data
public function updateData(Request $req, $id)
{
$input = $req->all();
$post = Mahasiswa::find($id);
if(!$post){
abort(400);
}
$post->fill($input);
$post->save();
return response()->json($post, 200);
}
3) Buka aplikasi Postman untuk melakukan pengetesan. DIbawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
6.
Fungsi
Delete
Untuk membuat fungsi read detail, mari kita ikuti
langkah-langkah berikut ini:
1) Buka
file routes/web.php, dan tambahkan code ini: Line 38
$router->get('/mahasiswa', 'MahasiswaController@index');
$router->get('/mahasiswa/{id}', 'MahasiswaController@showData');
$router->post('/mahasiswa', 'MahasiswaController@storeData');
$router->post('/mahasiswa/{id}', 'MahasiswaController@updateData');
$router->delete('/mahasiswa/{id}', 'MahasiswaController@deleteData');
2) Buka
file app/Http/Controllers/MahasiswaController.php dan tambahkan code ini :
//Delete Data
public function deleteData($id)
{
$post = Mahasiswa::find($id);
if(!$post){
abort(400);
}
$post->delete();
$message = ['message' => 'Delete successfully', 'post_id' => $id];
return response()->json($message, 200);
}
}
3) Buka aplikasi Postman untuk melakukan pengetesan. Di bawah ini adalah tampilan Postman untuk melakukan testing dan berhasil.
Komentar
Posting Komentar