Seri artikel RESTful API pada Mircro Framework Lumen 7.x
Postingan lainnya
Migration Data User dan Membuat API Register
Gimana nih ? masih pada semangat gak belajar nya ? harus semangat ya. Kita akan coba untuk membuat API register dan login da...
Gimana nih ? masih pada semangat gak belajar nya ? harus semangat ya. Kita akan coba untuk membuat API register dan login dan kita akan melindungi API lain nya agar hanya bisa di akses ketika user sudah login.
Oke, mari kita mulai dengan membuat migration user
php artisan make:migration create_users_table
Pada file migration yang sudah dibuat sebelumnya kita akan menambahkan field email, password dan token, yang nantinya akan digunakan oleh users untuk dapat login.
Silahkan tambahkan kode berikut pada file migration users yang sudah kita buat sebelumnya
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('email');
$table->string('password');
$table->string('token')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
Selanjutnya mari kita jalankan migration nya dengan menggunakan command dibawah ini
php artisan migrate
Dan kita lihat pada phpmyadmin tabel users sudah berhasil dibuat
Loh kok ada field token sih ? buat apa sih itu, kan udah ada username dan password. Jadi gini teman-teman field token di sini akan menyimpan token yang akan digunakan untuk proses autentikasi dimana ketika token nya valid maka user dapat mengakses API yang sudah kita buat sebelumnya
Selanjutnya mari kita update kode yang ada pada model user yang terdapat di file User.php
<?php
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Database\Eloquent\Model;
use Laravel\Lumen\Auth\Authorizable;
class User extends Model implements AuthenticatableContract, AuthorizableContract
{
use Authenticatable, Authorizable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email', 'password', 'token'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password',
];
}
Selanjutnya mari kita buat satu lagi controller yaitu UserController, kita harus membuat nya secara manual ya teman-teman
Silahkan update kode program pada file UserController.php
yang sudah kita buat menjadi seperti dibawah ini, kita akan menambahkan method register
public function register(Request $request)
{
$this->validate($request,[
'email' => 'required|unique:users|email',
'password' => 'required|min:5'
]);
$email = $request->input('email');
$password = $request->input('password');
$hashPassword = Hash::make($password);
$user = User::create([
'email' => $email,
'password' => $hashPassword
]);
return response()->json(['message' => 'Proses Registrasi Berhasil', 'code' => 201]);
}
> Ohh iya, untuk response code teman-teman bisa lihat lebih lanjut pada link berikut https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Selanjutnya mari kita buat route nya pada file web.php
$router->post('/register', 'UserController@register');
Mari kita coba API register yang sudah kita buat pada POSTMAN
Dan berhasil …
Bagian dari artikel seri
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban