Transcript for:
Kelas Laravel: Studi Kasus RESTful API

Halo teman-teman selamat datang di kelas laravel dimana disini kita akan coba belajar studi kasus ya menggunakan laravel dimana kita akan membuat sebuah aplikasi berbasis resful Api oke Sebelum kita mulai kita kenalan dulu ya jadi Nama saya adalah ekor Kurniawan saat ini saya kerja sebagai teknikal arsitek ya di salah satu e-commerce terbesar di Indonesia nah series ini sudah kerja lebih dari 12 tahun dan biasanya di sela-sela kesibukan saya bekerja saya biasa menyempatkan diri berbagi konten soal programming di website programmer zaman now atau di youtube channel programmer zaman now Oke kalau dari teman-teman butuh konsultasi dengan saya teman-teman juga bisa kontak saya lewat telegramnya atau jangan lupa juga follow sosial medianya programmer ya ada di Link in Facebook Instagram YouTube telegram channel ada juga di tiktok atau kalau dari perusahaannya butuh konsultasi teman-teman juga bisa email ke email pribadi saya di sini Oke sebelum teman-teman mengikuti kelas ini pastikan teman-teman sudah mengikuti kelas-kelas saya yang sebelumnya dari mulai kelas PHP ya pastikan sudah selesai teman-teman juga pastikan sudah mengikuti kelas my sequel ya Nah teman-teman juga pastikan sudah mengikuti kelas Open FPI ya karena di sini kita akan bikin dokumentasinya menggunakan Open FPI nah teman-teman juga pastikan sudah belajar tentang laravel dasar Helloween dan juga Helloween Oke kita akan bahas requirementnya terlebih dahulu ya atau kebutuhannya kira-kira aplikasinya akan kita buat seperti apa Oke jadi di kelas ini kita akan coba membuat aplikasi berbasis respon FPI yaitu adalah kontak management ya Nah di mana Nanti respon FPI yang akan kita buat kita akan memiliki 3 fitur besar fitur pertama adalah user management ya di mana di sini digunakan untuk manajemen usernya jadi seperti usernya seperti bikin user dulu gitu Ya bikin account dulu nanti bisa login logout dan lain-lain nanti ada kontak manajemennya jadi di mana kita bisa bikin kontak nambah kontak edit kontak dan lain-lain nah yang terakhir ada address manajemennya Jadi mungkin di dalam kontak kita bisa menambahkan address alamat dari tiap kontaknya Nah untuk detailnya fiturnya apa aja kita akan bahas satu persatu kita akan mulai bahas tentang user management yang requirementnya ya kira-kira Apa aja Oke ini adalah user data yang akan kita gunakan jadi nanti di setiap user itu perlu ada username nya itu ya Nah nanti ada passwordnya ada namenya atau namanya dan juga ada tokennya token ini adalah session login jadi setiap nanti selesai login itu kita akan punya token ya Nah nanti token ini digunakan untuk berinteraksi Selanjutnya ya setelah melakukan login jadi user datanya kira-kira minimal ada 4 ini ya kalau teman-teman mau tambahkan gitu Ya silakan Tapi minimal yang akan kita buat adalah 4 username password name dan juga token oke nanti FPI yang akan kita buat kira-kira untuk user management ada sekitar 5 ya yang pertama ada register user ya Ini digunakan untuk meregistrasikan user baru lalu di sini ada login ya Di mana setelah registrasi otomatis dia bisa login nanti ini adalah update user dimana dia bisa update user ya contohnya mau update nama atau mungkin update passwordnya lalu ini ada get user ya kalau ingin mendapatkan informasi user yang saat ini sedang login lalu ini adalah logo user Nah nanti digunakan untuk melakukan logout usernya jadi nanti kita akan buat 5 FPI ya untuk user management ini sekarang kita bahas kontak manajemen requirementnya Oke ini adalah kontak data yang akan kita gunakan ya ini adalah minimal kalau teman-teman mau tambahkan Silahkan aja ya tambahkan jadi minimal ada nanti first name nama depannya adalah sname nama belakangnya ada email ya email dari kontaknya dan juga font Nah di sini minimal ada 4 data berarti ya Nah saat ini sih kita tidak akan menambahkan unit contohnya email atau font ya atau first name jadi di sini kita terima bulat-bulat aja Oke selanjutnya akan ada beberapa FPI yang akan kita buat Nah di sini kurang lebih sekitar 5fpi untuk kontak management yang pertama adalah FPI untuk create contact ya Jadi untuk bikin kontak baru Lalu ada update kontak ya Lalu ada get kontak Lalu ada search kontak dan ada remove contact jadi total ada sekitar 5 ya FPI yang akan kita buat untuk kontak management ini jadi total dengan yang sebelumnya 5 berarti kita akan buat 10 ya 10 FPI yang akan kita buat sekarang kita bahas address manajemen requirementnya Oke ini adalah kontak address datanya kira kurang lebih ada 5 ya yang akan kita buat datanya yang pertama adalah Street ya Jalan alamatnya lalu Siti kota alamatnya provinsi ya provinsi alamatnya country negara alamatnya dan juga Postal code jadi ini yang akan kita buat untuk address datanya Nah selanjutnya untuk address apinya kita akan buat 5 ya yang pertama ada create address ada update address untuk get address ada list address ada juga remove address jadi total dengan yang sebelum-sebelumnya kurang lebih nanti kita akan buat sekitar 15 FPI ya Nah ini lumayan banyak juga ya Nah sebelum nanti kita bikin kodenya kita akan buat dulu di awal itu adalah FPI spesifikasinya jadi di awal kita akan buat kira-kira FPS spesifikasinya Seperti apa nanti setelah selesai baru kita akan membuat kode programnya Oke Sebelum kita mulai praktek kita akan buat Project terlebih dahulu ya Nah di sini saat saya buat videonya ini laravel terbaru adalah versi 10.2.5 jadi teman-teman nanti silakan disesuaikan dengan versi laravel yang saat ini ya atau kalau teman-teman mau mengikuti saya juga bisa ya menggunakan versi laravel yang sama jadi kita gunakan komposer create Project laravel Nah di sini versinya 10.2.5 nah nama projectnya adalah belajar laravel oke di sini kita akan gunakan perintah composer ya lalu create Sorry Project laravel laravel sama dengan v10.2.5 ya namanya di sini adalah belajar laravel Nah selanjutnya silahkan teman-teman ini ya tunggu sampai selesai nanti setelah selesai teman-teman silahkan buka menggunakan ID yang teman-teman gunakan ya atau teks editor yang teman-teman gunakan Sekarang kita akan mulai bikin FPS speknya ya dimulai dari user management oke di sini saya akan menggunakan Open FPI kalau teman-teman tidak familiar silahkan teman-teman belajar tentang Open happy dulu ya Oke kita akan tambahkan dox di sini saya akan buat di sini sebuah file ya Open FPI di mana Di sini saya akan buat dalam bentuk Jason Open apppi versi 3 lalu di sini namanya adalah user FPI Oke kita akan buat di sini username dulu jadi ini adalah user FPI Oke ini lokasinya ke nanti harusnya localhost 8000 ya Oke jadi kan ada 5v ya 5fbi Jadi yang pertama itu fpinya adalah FPI users ya Jadi nanti untuk untuk registrasi kita pakainya pos ke sini ya jadi di sini registrasinya post ini sorry descriptionnya berarti register new user ya Nah selanjutnya kalau untuk login gimana oke login kita akan buat api yang beda contohnya FPI users gitu ya login misalnya ya Nah ini nanti kurang lebih dia methodnya post juga ya Nah ini descriptionnya adalah login user Oke selanjutnya untuk update user ya untuk update misalnya saya akan menggunakan api misalnya current ya current untuk update atau juga untuk get ya ini saya akan perbesar dulu Jadi kalau nanti untuk gate ya http method-nya gate itu berarti descriptionnya dia akan get current user nah tapi kalau dia Sorry kalau dia adalah update jadi di sini adalah update ya kalau update update itu kan nanti kita methodnya misalnya pakainya ini ya page kalau page misalnya ya Nah metodenya nanti descriptionnya adalah update curren user nah gimana dengan logo Nah kalau logout saya akan buat url berbeda misalnya FPI users ya Nah nanti http methodnya adalah Delete nah ini adalah descriptionnya ini kalau kita lihat nah kurang lebih nanti ada ini ya Ada Happy ini untuk registrasi ya untuk register new user ini untuk login ini untuk mendapatkan user saat ini yang lagi login ini adalah patch ya untuk update lalu ini adalah delete Ya untuk logout Oke kita akan tambahkan detailnya dimulai dari registrasi dulu oke registrasinya kita bahas yang request bodynya Nah untuk request bodynya ya ini kontennya kita akan bilang di sini harus Jason ya Nah nanti setelah itu kita akan tambahkan skemanya Nah skemanya di sini kita akan gunakan Tabnya adalah Sorry object Karena kan dia harusnya pasif ya Lalu propertiesnya kira-kira ada apa aja jadi yang pertama ada nanti itu pas registrasi kan tergantung data user ya adanya username berarti ya nanti setelah username itu ada password ya Lalu ada name ya namanya nah seperti itu untuk username typenya adalah string untuk password typenya juga string ya dan untuk name Tabnya juga string nah kurang lebih seperti ini nah ini skemanya kita tambahkan example nya ya di sini example di sini contohnya yang Eko atau Kane di misalnya ya saya mau contohnya yang kanedy Misalnya ini deskripsinya misalnya login user Kennedy ya kalau di sini value contohnya gitu ya Misalnya di sini nanti Kirimnya username Sorry bukan login ya ini harusnya register username lalu di sini password lalu di sini name kurang lebih seperti ini ini responsnya belum ya tenang aja Oke jadi ini kurang lebih requestnya ya kalau teman-teman lihat hasilnya kurang lebih seperti ini nah ini sudah dari questnya ya Jadi nanti contoh requestnya seperti ini skemanya harus ada username password dan name dan di sini ada skemanya nah teman-teman kalau mau bilang yang required yang mana gitu ya teman-teman bisa tambahkan di sini nih record ya Yang requetnya yang mana di sini misalnya name wajib username dan juga password nah seperti ini ini kalau kita lihat sekarang Nah di sini ada di skemanya ya nah ini ada tanda bintang artinya dia wajib Oke ini requestnya sudah kita buat Nah sekarang kita akan buat saya akan perkecil di sini tambahkan koma di sini responsnya nah responsnya kita akan kasih contoh ya yang 200 oke teman-teman Bisa pakai 200 atau 2001 ya bagusnya untuk create 201 ya Jadi kita akan pakai yang 2001 ya untuk create karena kan registrasi data baru ya lalu disini misalnya sukses create user sukses register oke di sini kita akan lihat kontennya kira-kira dia bentuknya adalah Jason ya lalu di sini skemanya mau seperti apa Oke saya mau skemanya itu nanti dia akan ada data dan ada error ya untuk error nanti kita akan kirimkan yang detail validation errors ya kalau misalnya sukses ya kita balikannya dalam bentuk skema jadi typenya adalah objek lalu dia ada properties Nah di sini propertiesnya yang pertama ada data ya Nah nanti kita definisikan Lalu ada errors ya Nah ini untuk error nanti Tabnya adalah objek ya tapi untuk detailnya kan dia dinamis ya Tergantung nanti field apa aja yang dikembalikan yang dikirim juga lalu di sini nah kalau data ini adalah typenya adalah objek juga ya nanti detail propertiesnya Ada apa sih Nah nanti kita akan setelah registrasi sukses kita balikin lagi data user yang diregistrasikan dari mulai id-nya ya id-nya itu type-nya kita pakainya misalnya number nanti kita pakai autoen cramen lalu username ya Nah ini typenya adalah string lalu password nggak perlu ya tinggal name Tabnya adalah string nah seperti ini oke nah sekarang kita akan tambahkan example kalau kita mau tapi di sini sih sebenarnya udah bisa kelihatan ya di sini nah ini requestnya dan kira-kira response-nya bakal seperti ini ya Jadi nanti ada data username name dan error seperti ini teman-teman bisa tambahkan contohnya di sini kalau mau contoh ini ya example tinggal tambahkan aja example misalnya sukses description success register user valuenya Ini contohnya misalnya data gitu ya ID 1 name username nah seperti ini nanti di sini kita bisa lihat lagi nah hasilnya examplenya kurang lebih akan seperti ini ya Nah kita akan Coba kasihkan contoh yang error kalau error kan balikannya bukan 201 ya tapi di sini contohnya 400 misalnya ya validation error kita akan tambahkan descriptionnya adalah validation error konten kita bilang Jason lagi Ya Nah di sini kita skemanya pakai yang 2001 ya tapi kita langsung kasih example misalnya di sini misalnya validation error Nah di sini kita akan kasih description validation error ini value contohnya ya contoh response kalau validation error nanti akan error misalnya seperti ini Lalu nanti ada username misalnya ya ini misal saja ya nanti ada error mesesnya apa misalnya username must not be blank misalnya ya atau username [Musik] karakter misalnya seperti itu ini sample aja ya Nah kita bisa bikin seperti ini nanti di sini kita bisa lihat detailnya ya nah ini contoh yang 201 yang sukses dan ini yang 400 ya yang validation error Oke jadi kita sekarang udah tahu sekarang kita lanjut ke api selanjutnya jadi ini sudah kita buat ya untuk yang registernya user selanjutnya untuk login Oke untuk login kita akan buat di sini request body nya dulu ya untuk request bodynya konten di sini Jason lalu kita tambahkan skema di sini kita tambahkan typenya adalah objek properties Nah nanti kalau untuk login dia harus mengirimkan username ya typenya string password Tabnya string juga nah seperti itu Nah nanti ya ini untuk request bodynya ya Nah sekarang kita akan buat yang responsenya kita cek ini di mana Nah di sini response ya Nah sekarang kita akan Respon yang 200 dulu ya yang sukses misalnya lalu kita buat di sini descriptionnya success login lalu kita buat kontennya kira-kira ya dia pakai Jason lalu skemanya di sini [Musik] Nah untuk login misalnya ya Nah kita akan gunakan skemanya yang sama seperti ketika registrasi cuma ditambahkan token ya jadi di sini untuk responsnya sama nih skemanya kita akan copy yang ini jadi untuk yang login skemanya sama responsenya ya jadi id-nya dikasih tahu username-nya kasih tahu namenya plus token kalau ini token ya Karena kan dia akan menggunakan token ya untuk selanjutnya jadi di sini adalah tokennya nah sukses login seperti ini Nah nanti hasilnya kita cek di sini ini untuk login jadi requestnya ada username password dan juga untuk sukses logonya contoh di sini ada ID username dan juga token nah token ini nanti akan digunakan ya untuk request Selanjutnya ya untuk get untuk page atau untuk delete Oke sekarang kita akan lanjut ke gate karena user Nah kalau ini gitu ya ini harus ada ini ya parameter jadi di sini harus ada parameter parameter name-nya misalnya X gitu ya FPI atau X token gitu ya token misalnya ya Nah ini in nya header ya Jadi nanti dia wajib mengirimkan exfuser token yang didapat dari yang tadi ya selesai login Oke Nah selanjutnya untuk request body kan nggak ada ya karena ini gate nah ini kita langsung bikin responsnya aja Nah untuk responsnya 200 misalnya gitu ya di sini kita bilang kontennya di sini Jason juga lalu kita tambahkan skema contohnya ya Nah di sini skemanya typenya ini harusnya sama sih ya jadi untuk dapetin ini nah skemanya sama saya akan copy tanpa token ya jadi kita nggak perlu balikan token nah ini tokennya kita hapus seperti ini kita kurang description Oh ya description di sini sukses get user cat Karan user Oke jadi nanti untuk get current user fpinya ini dia pakai tetap metodenya adalah get dia parameternya wajib mengirimkan X user token via header ya Nah nanti kita akan balikan ini atau kalau teman-teman Oh saya pengen pakai yang bawaan deh nah kita bisa sih pakai bawaan aja ya auto rezation ya header auto rezation ya ini kan udah ada bawaan dari http-nya ya biar kita nggak perlu bikin header baru Nah kita pakai autorization ini in nya adalah di header ya nah selesai kita akan lihat jadi untuk get Nah jadi dia wajib mengirimkan autorization ini adalah tokennya ya lalu di sini nanti response-nya seperti ini kurang lebih ya oke lanjut untuk yang page untuk page juga sama dia harus ada parameter ini gitu ya jadi di sini dia harus ada parameter ya Nah nanti kita response juga harusnya sama ya untuk responsnya kurang lebih seperti ini juga saya akan copy nah responsnya sama paling yang dibutuhkan adalah ini berarti success update ya update user nah paling dibutuhkan adalah si request bodynya karena kan butuh request body Oke kita akan tambahkan request body di sini descriptionnya misalnya update current user lalu di sini kontennya nah kita akan kirim dalam bentuk Jason lalu di sini skemanya kita akan coba buat typenya adalah objek juga Oke jadi nanti saat kita update itu orangnya boleh mengirimkan username maksud saya name ya kalau dia mau mengupdate name tinggal kirimkan name-nya aja gitu ya ini Tabnya adalah string kalau mau update password tinggal kirimkan passwordnya aja gitu ya Nah ini Tabnya adalah string Jadi kalau nanti name-nya dikirim berarti kita akan update namenya kalau passwordnya dikirim Kita akan update passwordnya kalau tidak dikirim ini berarti tidak akan di update Gitu ya nah jadi kita lihat di sini hasilnya kurang lebih untuk page itu dia harus mengirimkan tokennya setelah login gitu ya di sini adalah request bodynya ya Ada name dan juga password lalu di sini response bodynya oke yang terakhir kita akan buat yang delete oke yang delete di sini sama ya dia harus mengirimkan yang parameter ini Oke Nah selanjutnya kita akan tambahkan response ya responsenya 200 nah tapi sebenarnya ini nggak butuh data apa-apa ya Jadi kalau responsnya kita akan coba copy yang ini misalnya 200 Nah tapi dia itu misalnya sukses logout user gitu ya dia itu nggak butuh ini ya nggak butuh data apapun gitu ya jadi kita bilang datanya di sini cuma string aja gitu ya jadi misalnya nanti returnnya cuma Oke gitu ya atau boleh deh Jadinya cuma oke aja nah seperti itu Nah kita lihat nah ini untuk delete nya atau logout ya nanti dia kirim token nanti ya ini responsnya ya udah true aja gitu ya nanti tokennya kita akan hapus dari database Nah sekarang kita sudah selesai ya membuat api ice pack berarti untuk user FPI ya jadi user management semuanya sudah kita buat FPS speknya sekarang kita bahas tentang kontak FPI spek Oke kita akan buat FPS spek yang baru di sini ya yang namanya adalah kontak api ya Sorry saya bikinnya spek ya Ini menggunakan Jason kontak FPI oke di sini berarti kontak api ini http localhost 8000 oke yang akan kita buat itu ada 5 juga dari mulai create update get search dan juga remove contact Oke sekarang kita akan buat yang pertama dulu yang create kontak ya ya untuk create kontak Nanti fpinya kurang lebih FPI kontaks ya Nah ini nanti methodnya menggunakan pos jadi ini descriptionnya adalah Create new contact Oke selanjutnya ada update kontak ya Nah untuk update kontak nanti kita butuh id-nya jadi di sini nanti FPI kontaks gitu ya Nah ini adalah id-nya seperti ini ya nanti perlu ada id-nya kalau di sini kita pakainya misalnya Put ya saya mau update semuanya misalnya description update kontak Nah gimana kalau get kontak gate kontak sebenarnya sama ya pakai yang ini juga nah jadi di sini saya pakainya yang get ya jadi di sini descriptionnya adalah get contact Nah selanjutnya ada search contact ya kalau search kontak itu saya pakainya yang ini nih yang sama nih Nah tapi methoutnya adalah get jadi di sini kita pakainya get ya ini deskripsinya adalah search kontak Nah selesai dan yang terakhir adalah remove contact remove kontak juga saya kan perlu ID ya Jadi kita pakainya yang ini nih tetap sama jadi di sini kita pakai yang methodnya adalah delete Ya ini deskripsinya adalah remove contact Oke selesai kita sudah bikin berarti kurang lebih ada 5F ya yang akan kita buat hasilnya kurang lebih akan seperti ini ya Jadi ini adalah untuk create untuk search ini untuk update ini untuk get kontak ini untuk delete kontak Oke sekarang kita akan detail kan ya untuk semuanya dimulai dari create dulu Oke kita akan buat di sini untuk create Nah di sini kita akan buat yang request body nya dulu descriptionnya ini adalah Create new contact misalnya lalu kontennya di sini nah kita akan pakai Jason juga di sini Sorry skemanya kita akan buat typenya adalah objek Nah kira-kira apa aja jadi nanti saat kita bikin kontak yang saya buat minimal ada 4 ya Ada first name last name email dan juga font kalau teman-teman mau tambahkan silahkan jadi di sini ada first name ya Tabnya adalah string ya ini saya akan copy last name ya lalu di sini ada email ya dan yang terakhir ada font Nah jadi ada ini ya Jadi kalau kita lihat di sini di dokumentasinya nah ini ya untuk create kontak ada firstname email dan juga font Oke selanjutnya kita buat yang responsnya ya Nah di sini kita buat responsnya Oke untuk responsnya Nah kira-kira apa nih responsnya nah kita akan buat contohnya yang 200 ya ini sebenarnya hampir mirip kayak yang tadi ya Yang user management ya Jadi kita ada data ada error juga ya di sini contohnya descriptionnya success create contact gitu ya Lalu nanti di sini ada konten contohnya misalnya di sini adalah Jason lalu di sini kita buat skemanya Nah skemanya typenya itu adalah objek nanti yang di balikan ya Oke dan di sini propertiesnya ada data gitu ya nanti ada errors seperti biasa kalau ini Tabnya adalah objek nah ini juga sama typenya adalah objek ya nah lalu di sini ada properties Nah nanti ada ada id-nya ini kita pakai Tabnya adalah number misalnya Lalu ada first name Tabnya adalah string ini saya akan copy last name email phone nah selesai kita akan coba lihat contohnya hasilnya nah ini untuk createnya ya dan balikannya ada seperti ini oke Nah selanjutnya kita akan lanjut ke get kontak dulu deh yang Bunda ya Nah untuk get contact Nah ini kan Oh ya saya lupa ya menambahkan di sini kita wajib ada parameter ya jadi di pos ini harus ada parameter parameternya yang tadi ya Yang name-nya adalah auto rezation ya lalu dia in header jadi harus dikirim ya karena kan harus login dulu ya Nah ini hasilnya berarti dia wajib ada autorization Oke sukses ini akan saya copy jadi semuanya harus ada ini ya jadi di Get harus ada gitu ya di pot juga ini harus ada dan di delete Oke selanjutnya kita akan update yang ini ya Yang get dulu Nah untuk get di sini dia nggak butuh request body dia langsung respons ya Nah di sini untuk responsnya sama jadi saya akan copy yang ini jadi response ini kurang lebih sama saya akan copy yang ini ini untuk respons gatenya ini success get kontak oke Nah tapi di sini Butuh yang ini ya Id ini ya Id ini jadi di sini Saya butuh namenya adalah ID ya ini harus pakai ID ini lalu in nya ini adalah part ya karena partnya di sini nih jadi untuk semua ini butuh ya ini saya akan copy jadi ini yang update juga butuh dan yang dilihat juga butuh nah seperti ini Oke kita akan lihat sekarang detailnya untuk yang get kontak ya nah jadi dia butuh ini ya token dan ID ID yang ada di sini ya parameter Id ini oke selesai kita akan update sekarang yang Put ya yang Put response juga sama harusnya ya jadi response ini akan saya copy untuk yang Put di sini ke yang membedakan adalah request bodynya kalau dia butuh request body nah request bodynya itu sebenarnya mirip kayak create ya jadi di sini kita akan copy yang create sebenarnya ini yang create ini saya akan copy karena sama aja ya Ada first name last name email dan juga font untuk yang updatenya jadi akan saya pasti di sini nah ini adalah update kontak dan ini sukses update kontak Oke kita akan lihat hasilnya yang Put ya nah ini Ada token ada ID nah ini ada request bodynya dan ada response-nya oke selesai Nah sekarang kita akan implementasi yang dilihat dulu deh dilihat simple banget ya dia tinggal ada responsnya nah saya akan copy yang response yang ini ya saya akan copy kita pindahkan ke sini Nah kita nggak butuh yang detail datanya ya karena kalau dihapus Ya udah dihapus aja ini misalnya Tabnya adalah Bulian Jadi kalau sukses dihapus ya tinggal true ya jadi sukses delete contact Oke selesai nah terakhir berarti kita akan implementasikan yang search kontak oke untuk search nanti rencananya misalnya ya kita bisa short berdasarkan nama email atau font juga ya nanti di query parangnya kita bisa tambahkan di sini ada namenya contohnya name gitu ya lalu di sini in query kalau mau nyari berdasarkan query parameter gitu ya menggunakan name name nya itu nanti kita bisa cari ke first name atau juga last name ya lalu misalnya kalau mau yang font ya itu juga bisa atau yang menyari email itu juga bisa ya nanti hasilnya di sini kurang lebih get ini ya Nah nanti kalau mau nyari misalkan font silakan dan email silahkan Nah selanjutnya karena di sini kontak list ya jadi search contact itu kan pasti ada pacging ya Nah ini juga kita bisa tambahkan misalnya di sini size ya jadi ukuran pacgingnya lalu di sini pagenya page ke berapa yang mau dicari Nah jadi query parameternya lumayan banyak nih kalau yang ini Oke responnya gimana Oke kita akan bikin responsenya response oke di sini contohnya 200 ya Oke kita akan buat di sini contoh skemanya di sini skemanya typenya adalah objeknya sama propertiesnya nanti dia ada data ya dan juga error ya kalau ini Tabnya adalah objek Nah untuk data nah ini typenya karena dia bisa mengembalikan lebih dari satu ya ininya datanya jadi Tabnya adalah array ya Jadi bukan lagi objek Nah tapi di sini nanti itemsnya ya itemsnya gitu ya Nah di sini kita bisa buat nih itemsnya itu typenya adalah objek dimana objeknya adalah objek kontaknya ya jadi saya akan copy yang objek kontak ini nah yang ini unsur yang ini ya yang response ya dia ada id-nya firstname dan lain-lain kurang lebih seperti ini Nah kita akan lihat Nah untuk ini Nah lihat ya nah hasilnya ada data gitu ya ID first name last name seperti ini nah gimana kalau teman-teman mau mengembalikan informasi pacgingnya gitu ya Nah sebenarnya untuk informasi packaging kita bisa tambahkan Meta ya di sini ini kan typenya juga objek ya Nah nanti ini yang Meta ini kita akan balikan informasi dari panjing dari si laravelnya ya Jadi kalau kita Mau balikin informasi pacging dari laravel ya teman-teman tinggal nanti kita masukkan ke dalam Si Meta ini ya simple seperti itu jangan nanti informasi panjingnya ada di sini Oke kita akan lihat hasilnya untuk search kontak nah kurang lebih returnnya seperti ini nah jadi sekarang kita sudah selesai ya membuat FPS untuk kontak api Sekarang kita akan bahas tentang address api Oke kita akan buat di sini FPS baru namanya address vvi Oke ini adalah addressnya lokal house misalnya 8000 oke Oke kita tahu ya kalau misalnya FPI yang akan kita bikin itu sekitar ada lima ya untuk address yang pertama ada create address ada update address ada get address ada list address dan juga remove address Oke kita create dulu ya Nah untuk createnya nah kita kan butuh kontak ID mana yang di tambahkan addressnya ya jadi di sini urlnya kurang lebih FPI ya nanti ada kontak saya Lalu ada ID nah tapi selanjutnya ada address ya kita pakai addresses seperti ini nah ini nanti kalau untuk create itu harusnya pakai pos ya nah jadi ini descriptionnya untuk Create new address Oke Nah selanjutnya ada update atau get address Nah kalau ini fpinya mungkin hampir mirip ya Tapi belakangnya ada ID addressnya ya ini adalah ID kontak kita ganti dengan ID kontak ya Nah seperti ini Oke selanjutnya di sini ada api lalu kontak ya di kontak lalu addresses Nah di sini ada ID address nah seperti itu nah yang pertama ada gate dulu misalnya ya Kalau Gate ini descriptionnya adalah get address ya Nah Lalu ada yang Put ya kalau untuk Put ini kita tahu descriptionnya adalah update address Nah jadi Sudah ada 3 FPI yang akan kita buat ya urlnya kurang lebih ada dua Nah selanjutnya ada list address ya kalau kita mau dapetin semua addressnya Nah di sini kita pakai versi yang simpel aja Ya nggak perlu ada peging dan lain-lain Jadi kita pakai url-nya sama seperti yang create di sini kita pakai yang get ya ini descriptionnya adalah get list addresses oke yang terakhir adalah delete ya atau hapus address Nah untuk urlnya sama ini ya Jadi kita harus tahu kontak ID mana dan juga address ID mana yang mau dihapus jadi di sini adalah delete ya descriptionnya adalah delete address Oke selesai ya Jadi kira-kira ada 5 api yang akan kita buat Oke kita akan Fokus dari yang pertama yaitu create dulu oke di sini dia butuh parameters ya karena kan di sini ada ID kontak termasuk ada auto rezation-nya nah saya akan buka yang kontak FPI di sini saya akan copy yang parameter sini ya Nah kita akan pindahkan di sini jadi dia ada autorization ya lalu dia ada namenya adalah ID kontak ya ini in nya adalah 4 ya karena ada di urlnya Oke selanjutnya kita akan buat requestnya request bodynya request bodynya di sini misalnya descriptionnya Create new contact Oke selanjutnya kontennya ya Nah di sini kita pakainya Jason dan skemanya kurang lebih ya Nah di sini kita pakai typenya adalah objek ya Nah selanjutnya ini kita samakan ya di sini tambahkan properties Oke untuk address itu di sini kita akan pakai 5 ya yang pertama itu ada Street yang kedua City yang ketiga propince yang keempat country yang ke-5 adalah Postal code kalau teman-teman mau tambahkan silahkan jadi di sini adalah Street ya dia tipenya itu adalah string ya Nah ini saya copy dulu lalu setelah Street dia ada City ya Lalu setelah City dia ada profit setelah Prof dan yang terakhir dia ada Postal code Nah jadi kurang lebih datanya ya untuk create itu bodynya ada ini ya Street City propince content dan ponsel code Oke kita akan bikin yang responsnya ini request bodynya di sini kita buat responsnya Oke kita akan coba buat kalau misalnya dia berhasil membuatnya kita akan pakai 201 ya untuk created atau sukses oke lalu di sini descriptionnya success create address oke lalu kita buat kira-kira kontennya adalah Jason ya lalu kita buat skemanya nah skemanya Seperti apa Nah di sini typenya adalah objek ini propertiesnya harusnya sama ya Jadi ada data ya Lalu ada error kalau terjadi error ya ini Tabnya adalah objek Oke selanjutnya di sini untuk data isinya apa ya isinya typenya ya objek juga lalu di sini ada propertiesnya kira-kira apa aja ya kira-kira sama Ya seperti yang ini ya Nah Cuma bedanya nanti ada ID address yang barunya jadi ini saya akan pasti di sini lalu kita tambahkan di sini ini ada ID ya Id typenya adalah number Oke kita lihat di sini hasilnya nah kurang lebih Nanti requestnya seperti ini dan juga responsnya dia seperti ini Oke kita lanjut ya nextnya setelah create ini saya perkecil dulu Nah kita akan Oh ya ini yang diperkecilnya harusnya yang pos ya Nah selanjutnya Yang entar dulu deh ya jangan get dulu ya tapi lebih ke ini nih get detail dulu nih get addressnya nanti terakhir aja oke untuk getnya sekarang di sini dia butuh ID ya dia di sini parametersnya akan saya copy ya ini saya akan copy kita pindahkan ke bawah di sini Nah di sini parameternya gitu ya dia selain ada autorization ID contact dia juga ada ID address di sini ya Jadi kita akan copy paste dia ada juga ID addressnya nah seperti ini sama ya semuanya ya untuk gate address detail update dan termasuk yang deletenya nah selesai Oke kita akan implementasikan yang get untuk yang get tidak dari Quest body Jadi dia langsung response ya Jadi untuk responsnya ini sama Sebenarnya ya jadi responnya ini kita copy aja nih ya di sini responsnya kita akan copy Nah di sini kita akan paste nah selesai kita coba lihat hasilnya untuk get ini ya berdasarkan Id addressnya ini ada ID kontak ada ID address Nah di sini responsnya kurang lebih seperti ini oke selanjutnya untuk yang update untuk yang update sama responnya ya Jadi untuk responsnya kita akan tambahkan yang sama paste lagi di sini nah paling yang belum adalah si requestnya Oke untuk requestnya ya itu sebenarnya Mirip ya descriptionnya adalah update existing kontak address Oke ini sama seperti create ya jadi data yang dikirim itu sama jadi saya akan copy ya request bodynya kontennya ini Jadi ini akan kita copy Nah kita akan pindahkan ke bagian bawah nah ini request body yang update selesai kita coba lihat hasilnya yang Put ini nah ini nah skemanya kurang lebih seperti ini ya Oke selanjutnya yang Delete nah ini lebih simpel ya untuk yang delete dia itu tidak ada request body dia langsung respons responsnya pun di sini 200 ya Oh ya di atas Harusnya bukan 201 ya ini harus kita ubah ini bukan 201 ya ini 200 kita cek dulu ini juga 200 ya yang 2001 tuh cuma yang create nya ya nah ini 201 [Musik] skemanya kita buat ya di sini typenya adalah objek lalu di sini propertiesnya cuma ada data berarti ya ini data typenya Bulian aja jadi true atau false lalu di sini ada error ya kalau ada error object Oke ini jangan lupa deskripsi Oke kita lihat yang delete nya ya nanti cuma true atau false aja harusnya cuma 2 doang ya Nah selanjutnya di sini yang belum berarti tinggal ini ya list address Oke untuk list address kita akan coba buat di sini ini yang post nah ini yang list ya Oke kita tidak ada pacging ataupun apapun ya untuk list address sederhana aja jadi langsung balikan semua addressnya jadi di sini langsung response 200 misalnya ini kontennya adalah Jason descriptionnya di sini please addresses oke di sini skemanya typenya awalnya kan objek dulu ya Lalu ada propertiesnya di sini propertiesnya adalah ada data typenya ini adalah array lalu kalau misalnya terjadi error ini Tabnya adalah objek Oke untuk arraynya ya itemsnya itu Nah di sini kita bilang kalau itemsnya itu typenya adalah objek ya Di mana propertiesnya Isinya ya sama ya jadi daftar address di sini kita akan copy yang ini nah ini kita akan paste di sini nah selesai Oke kita akan lihat hasilnya kurang lebih Nanti tampilannya seperti ini ya untuk FPS speknya jadi untuk daftar address semua dari kontak Id ini itu nanti balikannya kurang lebih data isinya adalah address seperti ini nah jadi sekarang kita sudah selesai membuat IP ice pack ya untuk address Oke sekarang kita akan coba setup database terlebih dahulu ya Nah kita akan buat nama databasenya adalah belajar underscore laravel underscore underscore Nah setelah kita buat databasenya ya di my sequel nanti kita akan coba konfigurasikan di laravel Oke kita akan coba Oke saya akan masuk dulu ke database ya Oke kita akan buat dulu Berarti Create database ya di sini belajar laravel resful api enter selesai Nah sekarang kita sudah buat saya akan copy kita akan coba konfigurasikan di laravelnya Oke kita akan buka di Inv di sini Nah di sini kita akan coba Dewi connectionnya saya akan ubah ya databasenya adalah belajar laravel rescuepi ya lalu di sini username-nya kebetulan di laptop saya menggunakan root dan kebetulan passwordnya kosong ya Nah sekarang sudah selesai jadi seperti ini Ya teman-teman silahkan siapkan databasenya Sebelum kita mulai memulai coding ya menggunakan silver ini oke yang pertama kita akan coba buat untuk user model terlebih dahulu ya kita akan buat modelnya termasuk migrationnya Oke kita akan Buka terminal ya saya akan gunakan di sini perintah PHP artisan Mac model ya di sini user nah tapi sebelumnya kita perhatikan dulu di sini ya saya lupa bahas kalau misalnya saat kita bikin Project laravel itu ada plugin untuk bikin tabel usernya ya Nah di sini nih bawaan dari laravelnya Nah ada create tabel user dan lain-lainnya kita tidak akan menggunakan ini ya karena kita tidak menggunakan fitur untuk authentication milik dari si laravel Nah kita akan buat secara manual ya agar teman-teman tahu bagaimana cara kerjanya Nah jadi semua yang ada di Microsoft ini silahkan teman-teman hapus terlebih dahulu ya Nah di sini kita akan hapus semuanya Ya saya akan dilihat lalu Oke jadi pastikan teman-teman Hapus dulu semuanya yang ada di sini Jadi jangan sampai dibikin ya atau di execute Kenapa karena nanti akan bentrok tabelnya Oke setelah dihapus Kita akan coba buat jadi kita akan bikin model user lalu di sini tambahkan migration juga ya kita akan coba Oh ya sorry bukan silinder tapi sheet ya oke model ori di oxys Oke sorry di sini berarti di app model sudah ada user Ya nah tapi user ini bawaan dari laravel kita tidak akan gunakan ini jadi yang model user ini kita hapus ya kita delete Oke kita akan ulangi lagi PHP artisan make model user migration dan sheet Oke selesai Nah sekarang kita akan punya model ya Nah user ini di sini ada my question-nya Oke kita akan setup migrationnya dulu nah jadi id-nya kita akan menggunakan ID ya yang di sini saya akan menggunakan string untuk username ya tapi saya mau set dia sebagai unit gitu ya jadi di sini unik Sorry username unik ini users username unik ya Jadi kita pengen usernamenya itu unik tidak boleh ada yang sama lalu string untuk password ya ini no labelnya false sore ini juga lupa new labelnya ini false ya no labelnya false juga Oke selanjutnya yang name ya Ini tipenya string juga ini adalah name no labelnya false juga oke sekarang pertanyaannya panjangnya mau berapa contohnya yang string username Saya mau 100 password misalnya saya mau 100 juga untuk name misalnya maksimalnya 100 juga nah oke kalau teman-teman mau nambahin created sama Appeton silahkan tambahkan time ya kita tambahkan time nya oke selesai Nah sekarang kita akan update yang user ini ini kita hapus Jadi yang pertama adalah tablesnya tablesnya adalah user ya lalu primernya itu adalah ID ya lalu kita integer ya lalu time timesnya itu adalah true ya lalu incrementnya incrementingnya itu true juga nah oke Jadi sekarang kita sudah punya tabel user Oh ya lupa ya kita belum menambahkan token jadi di awal kan saya bilang kalau misalnya login nanti kita akan tambahkan token disitu ya Jadi nanti setiap dia mengirim request selanjutnya harus mengirimkan autention dalam bentuk token jadi di sini harus ada string lagi berarti ya token ini misalnya nanti tokonya kita akan buat menggunakan unit ID misalnya ya jadi harusnya 100 sudah cukup nah tapi kan kalau dia belum login berarti kan bisa nol ya Jadi ini adalah 0 label artinya dia bisa no Oke selesai nah seperti ini jadi kita sudah buat Oh ya biar tidak ketukar gitu ya tokennya itu juga kita pastikan Kalau token ini dia adalah unik ya Jadi ini user token unik misalnya nama indexnya nah selesai jadi kita sudah buat ya tabel user modelnya juga dan magnesiumnya oke sekarang saya akan coba execute saya clear dulu PHP artisan ya my grade selesai Nah di sini sudah ada create user tabel kalau teman-teman melihat ada migration padahal ini tidak pernah kita buat create personal Biarkan saja itu bawaan dari laravelnya ya pluginnya ya nah jadi nggak apa-apa biarin aja yang penting itu adalah create user table ini Jadi sekarang kita sudah selesai membuat user model sekarang kita buat tentang kontak modelnya ya Oke kita akan coba langsung kita akan gunakan perintah PHP artisan Mac model namanya adalah kontak ya lalu kita tambahkan my greation dan juga Oke selesai Nah kita akan coba buat yang migration terlebih dahulu ya Oke jadi dia kontak ya tabelnya dia pakai ID juga auto increment kita tambahkan time Stamp juga Jadi mirip sama seperti ini biar ideal ya ada ID dan timesnya Oke selanjutnya kita akan coba tambahkan kolom-kolom yang dibutuhkan kalau yang pertama adalah string ya jadi kita buat string yaitu first name ini misalnya no labelnya false ya jadi dia tidak boleh kosong lalu string lagi string lalu dia last name ya tapi dia no label ya Jadi boleh kosong Oke selanjutnya ada email misalnya ya Sorry string juga maksud saya dia adalah email kolomnya Oh ya ini panjangnya kita lupa ya ini panjangnya misalnya 100 ini panjangnya 100 juga ini anggap aja 200 takut ada email yang panjang ini labelnya boleh Deal ya boleh kosong ya dan yang terakhir adalah font ya font misal aja 20 karena kan biasanya nggak terlalu panjang ya kalau font ini juga boleh kosong misalnya oke Sudah ya Nah si kontak Ini dia kan milik user ya Jadi kita perlu tambahkan di sini user ID user ID itu di sini kotoran perhatikan dia tipenya adalah Id Id itu adalah kita cek increments ya bikin increment situ dia adalah unsen big integer jadi nanti tipenya harus sama unsign big integer oke di sini jadi sign big integer ya Nah di sini adalah user ID ya pemiliknya siapa Nah di sini ini misalnya no labelnya false ya Jadi tidak boleh kosong Nah selanjutnya kita tambahkan ini ya forency Oke jadi di sini saya tambahkan [Musik] forenci ke tabel Story kolomnya adalah user ID ya referencenya Sorry on-nya tabelnya tabel users referencenya kolom ID nah seperti ini Nah di sini Saya tidak set emailnya sebagai unit ya ya ini jaga-jaga aja misalnya ada email yang sama untuk kontaknya berbeda jadi kita tidak set unik untuk email dan juga font-nya tapi kalau teman-teman mau tambahkan unit Ya silakan aja ya nah tinggal tambahkan nanti indeks unik ya di dalam email dan juga font Oke kita akan coba my grade dulu ya PHP artisan [Musik] my grade selesai selanjutnya kita update yang kontaknya Oke ini saya hapus oke yang pertama adalah peraih milikinya ID ya lalu kita app nya adalah integer lalu di sini tabel kontak ya Nah lalu di sini incrementingnya true karena dia auto encrement lalu time-timesnya juga dia true karena dia ada time stampsnya nah selesai jadi sekarang kita sudah bikin ya Model untuk kontaknya setelah selesai ya untuk kontaknya Nah kita akan buat relasinya nih antara kontak dan juga user Nah kita akan buka yang user model dulu user itu kan dia punya banyak kontak ya Nah sedangkan satu kontak dimiliki oleh satu user oke di sini kita akan buat public function contact misalnya ya Nah di sini adalah Has many oke di sini return Has many di sini adalah kontak ya kontak class lalu di sini user ID ya ininya kolom di tabel kontaknya lalu di tabel usernya itu adalah ID nah seperti ini oke sekarang di kontaknya kita buat di sini public function user ya pemiliknya nah ini adalah belong to berarti ya ini retan Belongs To ini adalah kontak Oke ini adalah user ID ya kolomnya dan di tabel kontaknya itu adalah ID juga Oke selesai jadi sekarang kita sudah selesai membuat ya untuk relasinya juga sekarang kita buat model yang ketiga ya yang ada yaitu adalah address modelnya Oke kita gunakan perintah di sini PHP artisan Mac model ya lalu di sini namanya adalah address lalu kita tambahkan my greation dan juga seatnya oke selesai Nah sekarang kita akan update dulu my greationnya Nah di sini sama ada ID ada timestames Nah tapi di sini kita tambahkan misalnya ya string Street misalnya 200 ya ini misalnya no label Ya mulai kosong Lalu ada CT ya Siti misalnya 100 boleh kosong misalnya kita yang diwajibkan Misalnya country-nya saja Misalnya gitu ya profit lalu ini country nah yang country no labelnya baru false Oke selanjutnya yang terakhir adalah Postal code nah ini serat nggak usah banyak-banyak nah oke Nah selanjutnya ada sini kan milik kontak ya Jadi kita harus tambahkan relasi ke tabel kontaknya jadi di sini kontak itu kan menggunakan ini ya menggunakan ID ya Jadi kita harus sama menggunakan unsen Big integer juga jadi di sini big integer ya Nah di sini adalah kontak id no labelnya adalah Force karena dia tidak boleh kosong Nah selanjutnya kita bikin orange yaitu adalah kontak ID ya lalu dia on ke tabel kontak reference ke kolom id di tabel kontak oke selesai jadi dia punya relasi ya ke tabel kontak kita akan coba jalankan selesai ya tidak ada yang error Oke selanjutnya kita akan update yang model addressnya oke di sini tabelnya adalah addresses ya lalu Primary Key nya adalah id lalu kitapnya adalah integer lalu incrementingnya adalah true lalu timesnya ya ini true Oke selesai Nah selanjutnya kita akan bikin relasinya ya Nah dimulai dari kontak kontak kan punya banyak address ya Jadi kita bikin public function Has many address nah ini kita akan buat kontak ID ininya ya kolomnya dan dia reference ke kolom id selesai Nah sekarang di addressnya dia milik satu kontak ya Jadi kita bikin public function contact ini adalah belong to ya di sini adalah kontak ini ke kontak ID dan ID selesai jadi sekarang kita sudah bikin semua modelnya ya dari mulai user kontak dan juga address Oke pertama yang akan kita buat adalah register user FPI Oke kita akan coba cek lagi ya untuk user FPI nya kita cek di sini kita akan lihat Nah di sini fpinya adalah slide user ya ini adalah FPI untuk register new user Jadi nanti dia tidak punya parameter apapun ya di sini dia ada request aja request body di mana skemanya dia ada username password dan juga Name lalu di sini responsenya nah dia ada contohnya seperti ini ya data ID name dan username passwordnya tidak dikembalikan lalu di sini kalau terjadi error kurang lebih validasinya seperti ini ya errors username apa gitu ya lalu namenya apa errornya Oke kita akan coba buat dua hal dulu ya Yang pertama adalah requestnya yang kedua adalah responsnya oke Oke kita clear dulu oke Jadi yang pertama yang akan kita buat adalah requestnya dulu ya Jadi kita akan gunakan PHP artisan make request Nah kita akan buat misalnya user ya register request Oke selanjutnya kita akan buat yang resourcenya ya untuk responsnya yaitu adalah user Sorry user resource selesai Oke sekarang kita akan coba buka user register requestnya oke Nah di sini ada banyak sekali ya Yang perlu kita lakukan contohnya di sini autoresnya ritelnya adalah false Nah ini kan apapun ya entah itu tamu ataupun Bukan gitu ya Nah dia kan boleh register gitu ya jadi di sini kita return-nya true aja jadi siapapun bisa registrasi Nah selanjutnya di sini rulesnya apa aja nih nah kita bisa ngikut dari sini ya nah jadi nanti username password name itu panjangnya ada berapa Nah teman-teman bisa buka ketika create tabel user ya di sini username nya 10 passwordnya 10 namenya juga 10 ya Nah di sini jadi kita bisa gunakan username ini misalnya required ya lalu maxnya 100 ya lalu password dan juga name nah kalau teman-teman mau menambahkan di passwordnya misalnya hal-hal yang lain ya seperti dia harus karakter dan lain-lain teman-teman silahkan tambahkan untuk role passwordnya ya yang pernah kita bahas di material validation Oke cukup ini misalnya ya menambahkan faedahnya selesai Nah sekarang kita akan buka yang user resource Nah di sini kita akan ikuti return nya itu bentuk jasonnya itu mirip dengan yang di FPS yang sudah kita buat ya Nah di mana di sini FPS aspeknya ada ID name dan juga username seperti ini Oke jadi return di sini Yang pertama adalah ID itu kita ambil dari ID ya lalu username dan juga Name untuk password tidak perlu ya Jadi ini [Musik] username Oke selesai jadi kita sudah buat ya untuk bentuk request dan juga responsnya Oke selanjutnya kita akan buat controllernya ya Nah kita akan buat gunakan PHP artisan Mac controller misalnya user controller selesai kita buka user controller oke di sini kita akan bikin sebuah function public function register nah ini adalah user register request parameternya ya nah misalnya requestnya lalu di sini user resource response selesai nah yang pertama yang kita lakukan adalah ya kita ambil dulu ya data yang selesai divalidasi kita ambil datanya Sorry data request ya nah setelah itu setelah valid Nah kan perlu ada yang dicek ya contohnya untuk username itu kan harus unik ya jadi pastikan dulu databasenya tidak ada username yang sama seperti itu Nah kalau ada username yang sama Nah kita akan balikan kalau ini tidak boleh ya karena username sudah teregistrasi misalnya nah jadi kita bisa cek misalnya kalau kita cek ke database misalnya ya menggunakan user lalu misalnya were di sini username nya itu sama dengan data username ya Nah lalu misalnya ya countnya Jumlahnya ada satu gitu ya Artinya tidak stabil ada jadi di sini ada ada di database Nah kita mau apa Nah di sini kita otomatis akan kembalikan ya respon dalam bentuk batterquest misalnya gitu Ya nah tapi nanti kita lakukan di akhir ya Nah selanjutnya kalau misalnya dia sudah valid baru kita lakukan yang pertama kita berarti bikin usernya ya user sama dengan New user lalu kita ambil di sini dari data nah tapi ingat ya saat kita bikin seperti ini berarti data ini yang ada username password dan juga Name itu harus filabel ya bisa diubah Nah di sini jadi kita ubah dulu user saya tambahkan atribut villable dulu ya nah yang bisa diubah misalnya di sini adalah username misalnya ya password name nah seperti ini Oke Nah setelah selesai tapi kita mau passwordnya itu nanti dia tidak disimpan bulat-bulat gitu ya Nah kita mau passwordnya itu diubah menjadi hashing ya Nah default-nya di laravel hashing-nya itu menggunakan backgroup Nah kita ingin menggunakan casing Backstreet misalnya nah caranya kita ubah ya si passwordnya itu kita Ubah menjadi teman-teman cari Hess ya lalu di sini teman-teman dilaksanakan use yang illuminate support fake ya nah ini yang khas ya Nah lalu di sini kita gunakan make nah lalu di sini kita ambil data password seperti ini Nah nanti otomatis dia akan di hashing Nah baru disimpan ke dalam sih passwordnya Nah setelah itu baru usernya kita save nah selesai Nah setelah di save ya kita tinggal ditekan ya kita kembalikan dalam bentuk user resource jadi di sini return new user resource lalu di sini adalah si usernya oke selesai nah saat kita melakukan request validate ini dia kan kalau misalnya tidak valid gitu ya dia kan akan throw validation Action Nah kita pengen ketika terjadi action gitu ya error nah saya maunya itu bentuknya errornya seperti yang di bawah ini gitu ya Nah kita bisa bikin custom ya kalau kita mau caranya gimana caranya di user register request ini ya Nah teman-teman bisa override ya namanya except sorry validation [Musik] jadi di sini ada failed validation jadi ada method namanya failed validation parameternya adalah validator kalau kita lihat ini bawaan dari super kelasnya ya super kelasnya itu adalah form request kalau kita lihat form request Nah lihat kalau terjadi error dia itu akan melakukan throw validation Exception Nah kita mau ganti Misalnya ya jadi kita nggak mau menggunakan validation kita mau dalam bentuk http respon misalnya nah untungnya di laravel itu ada gitu ya kita bisa gunakan throw new http response Exception itu ada di illuminate http Exception ya teman-teman tinggal use Ya seperti ini jangan lupa di use di atasnya seperti ini Nah di sini parameternya ini adalah response jadi teman-teman tinggal buat response di sini contohnya response gitu ya seperti ini ya lalu di sini bodynya mau apa gitu ya lalu di sini status code-nya misalnya 400 seperti ini Nah jadi kita bisa lakukan seperti ini Nah di sini contohnya responsenya Saya mau errors ya Nah ini kita ambil dari validator get message gitu ya langsung langsung saja sih ya get message back nanti dia otomatis di Translate menjadi Q value yang detail errornya nah jadi kita bisa Translate seperti ini ya Nah ya nanti dia akan diubah menjadi http response Exception Oke Nah selanjutnya berarti ya ketika di user controller kalau di sini Terjadi error gitu ya dia itu contohnya sudah teregistrasi di database kita bisa lakukan berarti throw new http response Exception kita ambil yang di illuminate http exceptions ya Nah di sini response snya apa balikannya di sini misal 400 juga nah seperti ini jadi di sini error misalnya ya username [Musik] misalnya username ori di register misalnya ya Nah teman-teman bisa lakukan seperti ini Nah sekarang harusnya logicnya sudah cukup ya jadi Sudah di validasi kalau misalnya dia ada di database kita Exception Kalau misalnya tidak ada artinya valid semua kita simpan lalu kita balikan sih user resource-nya ya nah selesai Oke selanjutnya kita akan registrasikan berarti ya ke dalam SI FPI nya Nah kita akan buka route service provider kalau teman-teman Silahkan buka di sini ada file yang namanya Roads dulu ini saya akan hapus atau komen ya Nah seperti ini kalau kita tambahkan di bawahnya route lalu di sini adalah post berarti ya ke users karena tadi sudah ada selesai Panya di bagian rout service providernya di sini ada prefix apinya kita tinggal tambahkan di belakangnya users ini berarti ke user controller lalu di sini methodnya adalah register Oke harusnya sudah selesai ya Nah untuk lebih jelas Sekarang kita akan implementasikan United nya Oke kita akan coba Sorry kita akan buat dulu PHP namanya user Oke selesai kita buka user test nah kita akan buat di sini tes baru tes register success ya Nah di sini nanti kita buat juga di sini tes register velg atau gagal lalu yang ketiga tes ini ya register username ori di Axis misalnya ya sudah ada Oke jadi Oh ya di tes case-nya ya kita buka Nah di sini saya tambahkan ini ya setup method ya sorry ini errornya sepertinya kita salah offside nah ini Nah di sini saya akan tambahkan delete ya delete from yang pertama saya mau address dulu ya lalu kontaks dan yang terakhir adalah users Oke jadi biar Semuanya dihapus dulu ya di awal Oke selanjutnya kita baru lagi Oke kita akan coba post ke FPI ya lalu di sini user ups sorry ini kira-kira data yang mau dikirim Seperti apa di sini contohnya username password [Musik] lalu kira-kira kita mau cek semuanya misalnya ya aset status itu harus 200 ya Oh sorry waktu kita balikan Coba di sini kita cek Harusnya bukan 200 ya harusnya 201 ya jadi di sini kita tambahkan seperti ini nah ini balikannya berarti di atas bukan resource melainkan response yang http sore luminate http Oh balikannya Jason response defaultnya kalau kita balikin user response dia satu squadnya cuma 200 ya sedangkan dari FPS yang kita buat kalau sukses itu balikannya adalah 201 jadi mau tidak mau yang user controllernya harus kita ubah dulu jadi 201 di sini oke jadi ini 201 ya assert Jason nah dia berarti harus ada data gitu ya lalu Ya seperti ini isinya Oke sekarang kita coba jalankan kayak ada yang error kita cek errornya kira-kira apa Oh ya passwordnya ya harusnya tidak perlu ya ini kita hapus Coba jalankan lagi United nya nah sukses ya selesai Nah kalau id-nya ini defaultnya kalau memang tidak ada berarti tidak dicek ya karena kan id-nya itu selalu autoincrement jadi bisa aja nanti dia naik-naik lagi jadi kita tidak bisa hardcore di sini oke lalu kita akan cek yang tes register ya Jadi kita coba yang register file di sini contohnya username nya passwordnya Kosong gitu ya namenya berarti di sini harusnya ada errors ya Dan ini harusnya 400 ini error ada username nah cuma nanti ini apa nih ya detailnya isinya nanti kita cek saya agak lupa detail message errornya ya nanti kita cek nanti kita perbaiki lagi lalu di sini name Oke kita cek nah bener ya Berarti ada ya tapi untuk detailnya Coba kita salahkan salah satu aja biar kelihatan errornya Nah di sini Nah harusnya oh ini ya Ada username field is required Oke kita akan copy di sini ini adalah password ini adalah name Oke kita coba running Nah ya sudah Oke sekarang kita akan registrasi dulu ya yang sukses register sukses dulu jadi di sini kita Panggil tes register success ya lalu kita registrasi lagi menggunakan username yang sama jadi kita panggil lagi menggunakan username yang sama jadi di sini sama ya karena dia jadi di sini errornya harus error ini juga harus 400 ya username nya username register ya Nah kita coba running nah sukses artinya sekarang kita sudah berhasil membuat FPI untuk register usernya jadi kita sudah bikin United nya juga dari mulai sukses gagal sampai gagal ketika username nya duplikat Sekarang kita akan buat login user api untuk login urlnya ada di FBI userve login dia menggunakan methodnya post request bodynya dia ada username dan password ya lalu untuk response bodynya hampir mirip seperti register cuma ada tambahan tokennya di sini Oke kita akan buat dulu requestnya sekarang kita gunakan PHP artisan make request user login request Oke kita akan ubah user login request jadi di sini autoresnya ini true ya Semua orang bisa login lalu di sini kita coba tambahkan validasinya username di sini dia requet Lalu ada maxnya 100 lalu password juga sama Oke selanjutnya kalau terjadi error ya Nah hampir sama ya responnya jadi kita akan buka yang user register request saya akan copy yang velg validation ya kita pindahkan ke sini nah ini hampir sama soalnya Ya nah oke selesai kita akan ubah sekarang sih user resource-nya karena kita butuh mengembalikan token Ya tapi kalau memang ada jadi di sini token when Not 0 misalnya di token Jadi kalau tidak nol ya tokennya kita tampilkan di token ini Oke selesai kita buka user controller sekarang kita implementasikan yang loginnya Black function login ini user login request ini baliknya adalah Jason resource NT respon maksud saya ya Jason response Oke jadi yang pertama kita ambil datanya dulu dari request Nah selanjutnya kita cek ke database user user where username nya itu sama dengan data username ya lalu kita Force ya kita ambil yang pertamanya Oke kita cek kalau dia tidak ada Force sudah tidak ada user maksud saya Nah kita akan melakukan apa Nah di sini kita akan kembalikan throw Exception juga nah cuma di sini kita jangan kasih tahu ya usernya itu tidak ada misalnya jadi kita bilang aja dia gagal login gitu ya jadi 401 401 itu adalah anotores ya di sini error misalnya di sini message gitu ya username or password wrong jadi langsung kasih tahu aja kalau username atau passwordnya salah gitu ya Nah setelah kita cek ke database kita cek lagi Jadi selain cek ini gitu ya Nah kita cek lagi jadi kita bisa gunakan atau gitu ya menggunakan cek ya Nah cek sih passwordnya ya jadi di sini value data password itu harus sama hashnya dengan yang ada di database ya user password Nah kalau kita tambahkan tanda serut tidak sama gitu ya maka dia kita balikan yang error yang sama seperti ini nah jadi kita bisa lakukan seperti ini jadi kalau usernya tidak ada atau kalau usernya ada tapi gitu ya passwordnya berbeda maka kita balikan pokoknya kasih tahu username atau passwordnya salah gitu ya nggak usah dikasih tahu detail mana yang salah Oke kalau udah berarti kita akan buat user token ya kita akan Ubah tokennya menjadi unit ID kita bisa gunakan bawaan dari laravel ya ada di STR ya di ster itu ada di packagenya atau name spacenya illuminate support lalu di sini ada UU ID unit ID lalu kita gunakan too string untuk konversi menjadi string Oke setelah itu baru usernya kita save lagi ke database ya biar data tokennya berubah kalau kita balikan return di sini misalnya new user response Sorry user resource ini adalah usernya nah balikkannya response-nya tetap 200 ya Nah di sini Jadi kalau 200 ya kita nggak perlu ubah sih jadi Jason respon di sini ya ini bisa jadi user resource nah seperti ini selesai ya Nah kita sudah buat implementasi untuk loginnya Nah sekarang kita akan coba tambahkan di rouchnya saya akan buka filenya adalah FPI PHP Nah kita akan Tambahkan saya duplikat user login berarti ya ini metodenya adalah login selesai Nah sekarang kita akan implementasikan unit testnya user test oke di sini kita akan buat yang pertama itu adalah login success ya Nah yang kedua itu adalah login fault atau gagal Nah sekarang kita akan coba di sini tes login success yang pertama saya akan buat dulu di database ya kita akan gunakan user slider Nah di sini kita akan buat misalnya user create username nya contohnya adalah tes gitu ya passwordnya tes juga namenya tes lagi Ya Nah lalu di sini Nggak perlu pakai token ya karena kan kita mau login nah jadi kita sudah punya nih user ini ya satu ini berarti kita di sini akan Panggil sheet yang user silinder selesai Oke kita akan coba login kita akan gunakan metode yang sama seperti ini nah seperti ini ya lalu di sini berarti username nya test passwordnya tes ini tidak perlu ini urlnya adalah login Oke berarti dia itu harus 200 ya aset Jason itu Jason nya itu harus ada data seperti ini ada username lalu name ya tes juga lalu dia harus ada tokennya tapi karena tokennya itu auto generate ya nanti kita cek di bagian bawah tokennya Nah di sini kita ambil lagi misalnya user yang ada di database misalnya user Sorry user model where username itu sama dengan tes kita ambil Force lalu kita pastikan expect gitu ya Sorry asset equal asset equal kalau Sorry asset note nol ya harusnya ya tidak boleh kosong si user tokennya jadi harus pastikan ada di database user tokennya Oke kita akan coba jalankan Nah ada yang error kita cek karena di mana username or password wrong kayaknya masuk ke username atau password passwordnya Oh ya salah ya itu harusnya passwordnya nggak seperti ini tapi harusnya di hashing menggunakan has yang di illuminate support paket lalu make tes Nah harusnya seperti ini ya Coba jalankan lagi nah sukses berarti sudah benar Oke sekarang kita akan coba yang error ya Jadi kita akan coba yang error ini file misalnya username nya not found ya memang tidak ada nih jadi kita akan Coba lakukan seperti ini jadi di sini harusnya adalah 400 gitu ya ini adalah error message username or password rong ya Oke kita coba running oke Ada yang salah sepertinya ya Oh ya bukan 400 ya 401 ini coba running Nah benar Oke sekarang kita mau login lagi tapi yang passwordnya salah gitu ya jadi login password room Jadi yang pertama berarti kita seatnya dimasukkan dulu ya user header Nah kalau kita passwordnya salah kita coba running Nah sudah sukses kita coba running semuanya lagi nah sudah sukses semua tidak ada yang error ya berarti kita sekarang sudah selesai membuat api untuk login usernya sekarang kita bahas tentang get user api Oke untuk get user rapi ya itu fpi-nya di FBI user sekarang ya Dia methodnya adalah get dia pakai parameter ya Di mana dia pakai parameter auto rezation dan ini di header Oke untuk responnya itu sama ya jadi cuma ada ID username dan juga Name aja Oke kita akan coba ya Nah sekarang kita akan langsung implementasikan di user controllernya oke di sini berarti kita akan bikin ini ya public function get misalnya ya Nah di sini nah pertanyaannya Apakah kita harus atau perlu bikin ini custom request gitu ya Nah sebenarnya di sini kita nggak perlu ya Kenapa karena nggak butuh parameter sama sekali jadi kita bisa gunakan request ya punya illuminate http request jadi di sini kita gunakan request ya nah balikannya misalnya di sini user resource oke selanjutnya berarti di sini yang harus kita lakukan adalah kita harus dapetin data usernya ya dari header authorization ya Di mana auto rezation ini kan dia isinya adalah token jadi kita harus ambil tokennya kita ambil ke database kalau dia ada kita balikin usernya siapa Nah cuma kalau kita lakukan di controller nantikan di FPI yang lainnya contohnya update user habis itu create contact semuanya kita akan melakukan hal yang sama berkali-kali Nah kalau kita lakukan hal yang sama berkali-kali dibanding kita lakukan di dalam controllernya masing-masing gitu ya lebih baik kita buat di middle ware jadi nanti di medle webnya kita akan cek tokennya ada atau tidak ya kalau misalnya ada kita ambil usernya kalau misalnya tokonya tidak ada gitu Ya udah kita anggap ini requestnya tidak valid berarti kita balikin sebagai anatores Oke jadi sekarang ya sebelum kita lanjut kita akan buat middle Ware Oke kita akan buat gunakan PHP artisan Max middle ware Nah di sini nama middle were nya misalnya FPI ya out middler misalnya seperti ini Oke kita akan buat selesai kita buka FPI out middle were oke di sini simple ya sebenarnya jadi kita ambil tokennya itu dari request header ya kita ambil yang Auto resesion jadi sesuai dengan FPI spek yang kita buat di sini auto rezation ya oke nah kita cek dulu ya jadi dia autentik itu misalnya pertamanya true ya kita cek Kalau misalnya tokennya tidak ada gitu ya ini tokonya tidak ada nah otentiknya kita jadikan false berarti dia tidak loginnya tidak terautentikasi di sini kita cek kalau dia authenticate kalau dia ter autentikasi maka kita akan lanjutkan ke controller Selanjutnya ya Nah kalau misalnya tidak Nah kita mau apa nih nah kita akan return kan di sini response datanya misalnya di sini error ya message misalnya di sini [Musik] misalnya ya lalu set status code nya 401 nah seperti ini jadi pastikan tokennya ada Nah setelah tokennya ada kita cek dulu ke database Apakah dia ada atau enggak gitu ya kalau nggak ada yang nggak usah dilanjutkan gitu ya Artinya kan kita mengirimkan token yang palsu Oke kita akan coba ambil user ya ambil user lalu where tokennya itu sama dengan token ya lalu kita ambil forcenya Nah kalau usernya tidak ada ya artinya tidak ada usernya authenticatenya kita set menjadi false juga ya jadi artinya dia tidak ada oke cukup ya seperti ini artinya sekarang kita tahu ada usernya nah sekarang pertanyaannya kita mau simpan usernya kemana nih nah kita bisa kirimkan usernya ke dalam SI request ini ya Nah teman-teman mau kirim Nah atau Nah ada fitur sebenarnya di laravel untuk handle authentication ini gitu Ya nah tapi kita di awal tidak menggunakan fiturnya karena kita ingin melakukan semuanya sendiri gitu ya Nah sekarang Kalau teman-teman mau ya di dalam si laravel itu ada sebuah fake namanya out ya ini adalah illuminate support Nah kita bisa gunakan metode yang namanya login ya untuk melakukan login meregistrasikan sih user ini ke dalam SI session atau si requestnya login Nah di sini kita bisa masukkan usernya Nah tapi di sini dia akan terjadi error kenapa Karena kalau teman-teman perhatikan di login dia itu butuh objek yang namanya authenticable sedangkan kita buatnya dalam bentuk user nah artinya Apa artinya user model yang kita buat itu kita tinggal tambahkan ya implementasi autentikable jadi authenticable itu di dalamnya ada banyak metode ya kayak out identifier name jadi untuk dapetin kira-kira field identifier-nya apa di kita kan contohnya username nah ini untuk dapetin username nya apa ini kira-kira passwordnya apa remember token dan lain-lain ya sebenarnya kita nggak butuh semuanya gitu ya kita butuh yang contohnya identifier sama password misalnya seperti ini nah jadi biar ini didukung gitu ya Nah kita akan ubah si user yang kita buat ya jadi user model yang kita buat kita bisa tambahkan di sini implements ya autentik kontraks out nah ini akan error ya karena kita harus implement semua metode yang ada di dalam si authenticable ini jadi kita akan implement semuanya ya Jadi ada banyak 1 2 3 4 5 6 ya kita buat semuanya yang pertama adalah get out identifier name nah dia pengen tahu kira-kira identifier atau id-nya untuk user itu apa Nah kita balikan di sini adalah string username ya karena kita pakainya username nah lalu kita ingin dapetin username itu siapa nih ya Nah kita ambil dari kolom username jadi return username username nah seperti ini Lalu di sini kita pengen dapetin nilai passwordnya Nah kita bisa return This password nah sebenarnya sih untuk ini kita nggak butuh ya untuk token ini digunakan untuk token sebenarnya tapi kita bikin pakai dummy dulu deh kita di sini return remember tokennya itu adalah this token kita pakai token gitu ya lalu kita untuk set remember token this token sama dengan value lalu ini get remember tokennya itu kita balikan kolomnya adalah token ya nah selesai jadi kita yang penting implementasi dari si authenticable ini oke sekarang udah sukses nih jadi setelah sukses gitu ya kita dapetin usernya kita masukkan ke out login ya Jadi nanti di request selanjutnya Kalau teman-teman mau ngambil data user yang saat ini sedang login siapa kita bisa gunakan out gitu ya user seperti itu jadi simpel banget oke middlernya Sudah ya Nah selanjutnya kita balik lagi ke controllernya jadi di controllernya kalau saya mau tahu sekarang user yang sedang login siapa jadi cukup gunakan user sama dengan out ya out kita use yang illuminate support paket user Nah jadi ini sudah dapat user yang saat ini sedang login Yang penting harus menggunakan si middle where ini ya Nah Oke berarti ya simpel Ya tinggal kita returnkan new user resource itu data si usernya di sini selesai kita sudah bikin controllernya jadi simpel banget ya Oke kita akan coba registrasikan ke FPI nya oke di sini karena dia butuh middle ware dan nanti FPI selanjutnya itu butuh middle where yang sama ya Nah FPI out middler jadi kita akan bikin di sini sebuah grup ya jadi middle where middlernya adalah FPI out middle ware ya lalu kita Bikin grup function nah di dalamnya Nah kita akan baru route yang pertama adalah get misalnya ya users nah ini adalah user controller lalu di sini ini adalah selanjutnya yang butuh middle where ini Nah tinggal kita ambil atau Story tambahkan roadnya di sini oke selesai kita sekarang akan tambahkan testingnya ya Tes yang pertama misalnya kita akan coba get yang sukses ya berarti di user slidernya itu kita harus tambahkan token di sini ya di sini token misalnya kita tambahkan tokennya misalnya tes juga ya biar gampang Oke kita akan masukkan tokennya test kita balik lagi di sini oke di sini United yang pertama kita akan buat tes get success United yang selanjutnya itu adalah get UN auto rise ya lalu get invalid token ya Jadi tokennya tidak benar Oke sekarang yang sukses dulu jadi kita jalankan seatnya dulu user silinder ya Oke selanjutnya adalah get ini ke api users ya lalu kita tambahkan di sini headernya autorization nah tokennya adalah Sorry test ya tadi itu Nah di sini aset statusnya itu harus 200 ya assert Jason itu harus ada data ada username itu harus tes Lalu di sini harus ada name ya itu juga harus tes juga Oke selesai kita akan coba jalankan kita lihat apakah ada yang error atau tidak Oke sukses ya berarti sudah benar sudah sukses Oke selanjutnya kita akan coba lagi Yang anotorage ya jadi di sini saya akan coba yang anotorus itu misalnya yang ininya tokennya ini ya tidak ada kosong jadi dia tidak mengirim tokennya itu kan tidak boleh ya jadi dia aset statusnya harus 401 ya 401 karena dia akan di-reject oleh middle ware lalu dia responnya harus error message and autores Oke kita coba running Nah ada yang error sepertinya ya kita cek errornya apa Oke ternyata dia dapatnya 500 ya bukan 400 500 Artinya ada yang salah nih Nah di sini salah ya login itu dia harus tipenya adalah authenticable 0 given 0 given Artinya kita malah memasukkan data Kosong gitu ya Oke kita akan cek di sini Oh ya di sini ya karena dia user dan gagal dia dipanggil harusnya ini nggak boleh dipanggil ya Jadi ini dipanggilnya harusnya ketika sukses aja jadi di sini di bagian l seharusnya nah seperti ini harusnya ya Oke kita coba lagi jalankan yang atas dulu ya yang sukses Oke masih sukses sekarang yang gagal di sini coba running oke sekarang sudah sukses ya Jadi kalau tidak mengirimkan ininya tokennya Maka akan dianggap anotoris Nah sekarang kita akan coba Kirimkan token yang salah ya Nah di sini kita coba salah dia balikannya harus 401 dan responnya harus sama seperti ini Oke kita coba running Nah benar Ya udah sukses kita coba running semuanya Oke sudah sukses semua artinya kita sudah selesai membuat get user FPI Sekarang kita akan buat update user api Oke untuk update and poinnya sama ya seperti get current user jadi FPI user sekarang Lalu di sini dia menggunakan metodenya adalah page ya lalu di sini dia ada parameternya auto rezation juga karena harus login dulu ya lalu di sini nah bodynya simpel ya dia ada name dan juga ada password jadi kalau mau mengupdate nama cukup Kirimkan namanya kalau mau update password cukup kirimkan passwordnya gitu ya jadi dua-duanya ini opsional kalau tidak dikirimkan dua-duanya berarti ya tidak ada yang di update sama sekali oke responsnya hampir sama ya nah jadi ada pakai user risoles Oke kita akan coba buat sekarang ya yang pertama kita akan buat untuk updatenya ya Jadi kita akan buat PHP artisan Mac request user update request Oke kita buka user update request Nah di sini autoresnya ya apakah dia boleh melakukan ini atau tidak nah teman-teman bisa gunakan cek ya di sini kebetulan ada sebuah method namanya this user jadi user ini untuk mendapatkan data user yang saat ini sedang login ya Nah ini enaknya kalau menggunakan bawaan dari si ravelnya ya Jadi yang tadi yang di middle where setelah di login kan Nah di sini kita bisa dapetin usernya Jadi apakah dia bisa mengakses ini itu cukup teman-teman gunakan di sini misalnya user gitu ya tidak sama dengan nol misalnya ya Jadi kalau dia tidak sama dengan nol berarti dia boleh Oke selanjutnya rulesnya apa aja yang pertama adalah name-nya ya Yang bisa di-update nah ini new label artinya boleh aja ya tidak ada datanya karena kan opsional ya bisa di update atau tidak kalaupun ada maksudnya harus 100 oke lalu di sini password itu juga sama NU label tapi kalau di update dia max-nya harus 100 juga oke nah kalau misalnya error Nah kita harus balikan sebagai batter Quest saya akan copy dari user login request misalnya ya Nah di bawah sini kita akan copy yang velg validation Oke selesai kita sudah bikin request untuk user update request nya Sekarang kita akan bikin di controllernya public function update ya jadi di sini user update request balikkannya adalah user resource Oke Nah di sini Sekarang kita akan coba validasi dulu ya kita ambil data yang validnya itu ambil dari request Oke setelah itu nah kita akan ambil usernya saat ini ya user yang lagi login itu siapa ya out user Oke selanjutnya kita cek dulu ya kalau ternyata datanya itu ada namenya gitu ya Nah kita usernya baru ubah namenya name sama dengan data name seperti ini misalnya ya Nah kalau misalnya dia data ada data password gitu ya Nah kita baru ubah user passwordnya sama dengan misalnya Sorry has dia menggunakan Mac atau di sini data password ya Nah seperti ini Nah selanjutnya kita tinggal user save selesai jadi kalau yang diubah ada gitu ya baru kita ubah kalau nggak ada yang diubah berarti ya udah nggak usah kita ubah lalu kita returnkan new user resource di sini usernya selesai ya nah jadi sederhana banget sebenarnya ya Jadi tidak terlalu sulit juga Oke kita akan coba tambahkan di fpinya Oke kita masukkan ke dalam grup ini karena dia butuh middle were jadi road di sini page ya Page di sini users user controller dan dia methodnya adalah update Oke selesai jadi kita sudah selesai implementasi untuk updatenya Nah sekarang kita akan coba implemen unitednya user test oke testingnya ya kita akan coba tes yang pertama adalah tes update name success ya jadi namenya lalu tes update yang passwordnya ya password nah Lalu setelah itu yang gagal ya Misalnya update velg Oke kalau teman-teman mau tambahkan skenario yang lain Silahkan ditambahkan Oke jadi ini kita akan copy yang ini misalnya yang ini ya yang tes gate sukses di sini oke di sini tapi Ini pakainya pos ya pos Nah di sini parameter yang kedua data ya data yang mau dikirim Oke seperti ini nah jadi di sini datanya yang dikirim adalah password ya Passwordnya di sini baru seperti ini ya Nah berarti kita perlu cek paling ya jadi di sini misalnya all user ya kita ambil user where misalnya username nya tes kalau kita ambil Force gitu ya Nah nanti setelah kita update kita ambil yang di bawah itu new usernya ya Jadi yang sudah di update Nah jadi pastikan di sini nanti assert not Equals ya Jadi tidak boleh sama antara All user password dan juga new user password jadi setelah di update passwordnya itu nggak boleh sama lagi Nah jadi di sini kan passwordnya kita set menjadi baru auto rezation-nya di sini headernya test dan di sini dia harus sukses ya Nah username dan passwordnya harus seperti ini Oke kita akan coba jalankan sekarang oke Ada yang gagal kita cek errornya di mana Oke Ternyata kita salah bukan post ya ini page Nah kita coba running lagi Oke Masih error kita cek lagi ada di mana Oke errornya adalah 500 ya Nah di sini jadi di sini ada error di user controller di baris ke-73 Oke karena di sini tidak kita kirimkan ya namenya jadi di sini kita akan gunakan isset nah seperti ini iset nah Sekarang kita coba lagi nah sukses ya berarti passwordnya sudah berubah sekarang kita coba lagi ya kalau kita mau kita akan copy semuanya sekarang saya ubah yang nama ya Nah jadi di sini name misalnya Eco seperti ini jadi di sini namenya harus berubah sekarang menjadi Eco seperti ini dan di sini name nya harus berubah ya nah seperti ini kita coba running sekarang nah sukses ya namenya sekarang sudah berubah Oke yang filenya gimana Nah kalau ini bebas sih ya teman-teman mau contohnya anatores kah atau saya filenya contohnya yang validation misalnya ya jadi saya nanti kirim namenya panjang di atas 100 gitu ya lumayan agak susah sih kita kirim yang lebih dari 100 misalnya ya oke di sini harus error ya ini name nah cuma kata-katanya saya agak lupa ya nanti kita cek salah deh nanti kita perbaiki Oke kita cek ini berarti nggak perlu all user ini juga nggak perlu ini responnya harus 400 ya kita coba running error kita cek Harusnya itu nah ini the name field must not feature dan 100 karakter Oke kita copy kita pindahkan di sini Oke kita coba running nah Masih error kita cek Oh ya Sorry saya salah Nah harusnya seperti ini kita coba running lagi nah sukses jadi sekarang kita sudah bikin untuk update user fpinya jadi kita bisa kirim namenya kalau mau ubah namanya atau kirim passwordnya kalau mau ubah passwordnya seperti ini sekarang kita bahas logout user Epi Oke untuk logout and pointnya api users logout ya Nah dia pakainya methodnya delete lalu parameternya sama menggunakan auto rezation token lalu balikannya cuma data Bulian ya mungkin di sini cuma true aja gitu Ini formalitas aja sih sebenarnya ya Oke kita akan coba sekarang jadi kita akan buka user controller ya Nah di sini kita akan coba tambahkan public function log out ya Nah ini request ya karena tidak butuh form ini balikannya di sini juga tidak butuh resource ya jadi di sini Jason respon oke di sini kita mau ambil user yang sedang login menggunakan out user ya Nah lalu usernya kita hapus tokennya ya Jadi kita tokennya kita set menjadi nol lalu kita usernya tinggal di save aja seperti itu ya selesai Nah kita balikan misalnya return response Jason datanya misalnya data true set statusnya 200 nah selesai jadi cukup seperti ini aja sebenarnya ya Oke selanjutnya kita akan coba tambahkan di routingnya Nah di sini kita coba rout delete Ya lalu di sini user logout lalu di sini user controller log out selesai nah udah jelas ya Sekarang kita akan coba implement unitednya user test Oke kita akan coba berarti yang logout success ya ini sukses lalu kita buat lagi logout field ya Oke kita akan coba panggil seatnya usersider lalu kita coba Delete ya ke users logout ya lalu kita kirim Nah di sini headersnya itu adalah authorization tes ya lalu aset statusnya harus 200 aset Jason response itu harus data true seperti ini ya Nah sekarang kita coba yang logoutnya gagal misalnya yang tokennya tidak ketemu gitu ya tokennya Misalnya salah ini balikannya harus 401 ya ini error message and autores Oke ini kita jalankan dulu oke Ada yang error Sepertinya kita cek Oke 404 ya 404 ini tidak ketemu kita cek dulu user logout Ini pakainya delete Ya user logout harusnya ketemu ya user logo Apakah saya salah ngetik udah benar user logout Oh di sini ada parameter data ya ini salah nih ini tidak ada datanya harusnya ya Nah di sini parameter headersnya atau saya pakai named parameter aja ya Yuri headers coba running Oke masih 404 kah agak aneh ya Kenapa masih 404 kalau 404 artinya dia tidak ketemu Roads nya Padahal di sini user S logout kita cek di sini di LED Oh iya depannya saya lupa tambahkan FPI ini Oke kita coba running sukses ya Nah ini berarti kita tambahkan your eye ya kalau di sini Oke kita coba running lagi Nah sudah sukses Artinya kita sudah bikin ya FPI untuk logout user fpi-nya jadi Setelah dia logout tokonya dihapus Nah tapi di sini kita belum cek nih Apakah benar tokennya dihapus atau enggak nah caranya gimana caranya kita cek dulu ke database ya user misalnya were username ini pastikan aset 0 ya untuk si user tokennya kita coba running lagi sukses ya berarti sudah benar di databasenya itu sudah di delete kita coba running semuanya untuk memastikan tidak ada yang error Oke semuanya sudah sukses Sekarang kita akan mulai bikin create kontak FPI Oke untuk FPI create contact itu fpinya adalah contact ya methodnya pos parameternya dia butuh autolization-nya tokennya user yang saat ini sedang login lalu di sini skema untuk request bodynya itu dia ada first name last name email dan juga font untuk responsnya itu dia hampir mirip seperti request gitu ya Nah Cuma bedanya di sini ada tambahan ID ya ID yang dibuatnya Oke kita akan coba buat jadi di sini kita akan buat dua hal lagi yang pertama requestnya yang kedua adalah responsenya Oke kita akan buat PHP artisan Mac request ya Misalnya kontak create request lalu kita buat artisan make request Nah di sini adalah di sini kita buatnya adalah kontak resource Oke selesai kita akan buka dulu yang kontak resource oke di sini kita lihat di responsenya ya tadi dia itu ada ID first name last name email phone dan lain-lain Oke jadi di sini kita akan returnkan dalam bentuk array yang pertama ID nah dia diambil dari disk ID misalnya ya Lalu ada first name ada last name ada email dan yang terakhir ada font Oke selesai ya nah jadi cukup seperti ini aja Oke selanjutnya kita akan ubah yang kontak create request Oke untuk autoresnya sama ya jadi pastikan dulu user ya itu tidak sama dengan nol ya jadi pastikan sudah login oke lalu di sini dia ada Force name yang pertama ya nanti detailnya kita lihat last name Lalu ada email ada font ya Oke untuk first name dia misalnya requet ya Nah lalu di sini ada maxnya 100 ya Kalau tidak salah saya coba cek create tabel kontak di sini first name 100 email 200 dan font 20 dan yang boleh nol semuanya ya kecuali yang first time oke di sini berarti request yang ini ya Nah kalau yang ini no label artinya dia boleh kosong lalu di sini maxnya juga 100 ya ini juga sama no label maxnya Sorry maxnya itu 200 ya Oh di sini dia harus email ya lalu di sini dia nolable ya Dan ini maxnya misalnya sorry ini maxnya 20 ya Nah di sini kalau teman-teman mau formatnya number aja dan lain-lain silahkan Ya saya bebaskan di sini Kenapa karena kan bisa aja nanti ada tanda plus gitu ya ada spasi ada minus dan lain-lain jadi kita tidak tambahkan validasi yang lainnya Oke selanjutnya sama ya ketika terjadi error kita pengen Translate ya menjadi http response jadi saya akan copy yang dari user login request ini kita copy kita pindahkan ke sini Oke selesai ya Jadi ada field validation Oke sudah selesai kita akan buat si controllernya sekarang PHP controller yaitu kontak controller Oke kita buka kontak controllernya oke di sini kita akan bikin public function misalnya ya create di sini berarti kontak create request balikannya adalah di sini balikannya itu Kalau tidak salah 201 ya ini Oh ini salah ya harusnya create itu 201 ya Jadi kita ganti FPS speknya 201 jadi di sini adalah Jason response oke yang pertama kita ambil dulu user saat ini siapa ya Jadi kita ambil out user ya Nah lalu Nah kita akan coba Bikin berarti ya data sama dengan request validate nah ini saya pindahkan ke atas deh Oke setelah itu kita baru bikin kontaknya kontak sama dengan new kontak ya lalu kita ambil dari data nah jangan lupa di kontaknya ini kita tambahkan filabelnya ya siapa aja kolom yang boleh di ubah secara langsung ya oke yang pertama berarti yang first name boleh gitu ya lalu last name juga boleh lalu email juga boleh lalu di sini font ya font juga boleh Oke selesai selanjutnya berarti di sini setelah itu kontaknya kita ubah si user id-nya ya user id-nya itu kita ambil dari user ID Nah setelah ini baru kita save contact save selesai deh kita returnkan new contact response di sini adalah kontak lalu di sini response kita mau ubah set status code nya 201 selesai Nah kita sudah selesai membuat untuk implementasi createnya ya jadi simple seperti ini Oke selanjutnya kita registrasikan ke apinya Nah masih di dalam sini berarti ya Jadi kita tambahkan road post berarti adalah kontaks ya Nah ini adalah kontak controller dan metode selesai ya Jadi kita sudah selesai bikin untuk create kontak fpinya Oke sekarang kita akan coba implementasi unitnya kita akan buat United baru PHP artisan Max test ya kontak tes Oke kita buka kontak test Jadi yang pertama adalah create success yang kedua adalah create Field Oke jadi yang pertama kita coba post ke FPI kontaks ya lalu di sini datanya kurang lebih Yang pertama adalah first name Eko last name misalnya email misalnya kalau di sini font selanjutnya aset status 1201 ya lalu di sini Pastikan data ya lalu dia ada sama seperti ini ya responnya Oke selanjutnya kan harus login dulu ya Jadi kita akan jalankan untuk sheet yang ini ya user silindernya nah lalu di user shader kan kita bikin tokennya adalah token ya jadi di sini setelah kirim bodynya kita jangan lupa di sini juga kirim header autorization Itu adalah Tes Oke kita coba jalankan kita lihat hasilnya Oke sukses ya berarti tidak ada yang error langsung sukses kita akan coba implementasi yang gagalnya kita akan coba di sini yang gagalnya yang gagalnya misalnya first name-nya Kosong gitu ya Ini bukan email misalnya seperti ini ya Nah jadi di sini harus errors ya Nah cuman nanti pesan errornya kita cek lagi Jadi dia harus ada yang force name ya harus ada errornya nih nanti kita perbaiki salah misalnya lalu email juga ya format emailnya salah ya Oke kita coba jalankan Oh ya Ini 400 ya kita coba jalankan Oke kita cek di sini Harusnya itu the force name field is required yang ini ya lalu ini the email field must be valid email address Nah kita coba running lagi nah sukses nah gimana kalau yang anotores kita coba juga ya tes create jadi di sini yang ininya salah ya jadi harusnya baliknya 401 errornya message and autores kita coba running nah sukses artinya sekarang kita sudah selesai membuat create contact FPI Sekarang kita akan buat get kontak FPI Oke untuk get contact itu urlnya adalah FPI contact lalu di sini ada ID kontaknya ya jadi nanti kita harus ubah sesuai dengan ID kontaknya Lalu parameternya ada autorization ya di header Lalu ada ID kontak yang dikirim menggunakan Path ya Oke selanjutnya responsnya hampir mirip ya cuma bedanya dia ada detail id-nya di sini Oke kita akan coba oke di sini berarti kita tidak butuh bikin request body ya Nah kenapa tidak butuh bikin request body karena memang tidak ada request bodynya Oke kita akan langsung berarti buka yang kontak resource ya ini sudah ada semua sih ya Sorry ID first name last name email Phone sudah ada semua jadi kita langsung buka kontak kontroler Oke kita akan buat di sini public function Nah di sini adalah get ya oke di sini yang dibutuhkan cuma id-nya ya jadi ID kontaknya yang di sini yang dibutuhkan jadi di sini adalah ID ya Nah ID kontak di sini Ya tipenya adalah Misalnya integer karena kan tipenya nanti di database adalah integer ya kalau di sini misalnya balikannya adalah Nanti kontak resource ori resource seperti ini Oke kita akan ambil user yang saat ini login ya out user Nah kita akan cari ke database ya kontak Id ini milik user ini jadi pastikan harus dicek ya usernya bener pemilik dari si kontaknya jadi kita bisa gunakan kontak sama dengan kontak ware misalnya ya Nah lalu di sini kita tambahkan ID nya ya sama dengan id where lagi di sini user ID nya sama dengan user ID ya lalu kita ambil first yang pertama Nah kalau ternyata gitu ya data si usernya itu tidak ada nah Berarti kan tidak ada ya Nah kita akan balikan throw Neo http response Exception yang di illuminate https nah ini kita buat response di sini Jason gitu ya data jasanya misalnya error message not found misalnya ya lalu di sini set status code-nya adalah 404 karena memang data usernya tidak ada di Sorry bukan user ini ya kontak maksud saya data kontaknya memang tidak ada di database Oke kalau misalnya ada ya udah kita tinggal returnkan new contact resource selesai jadi cukup sederhana seperti ini Oke kita akan sekarang coba tambahkan ke roadnya ya ke piy Nah di sini kita akan coba tambahkan Ini pakainya adalah get kontaks dia adalah ID nah kita tambahkan reggae misalnya ya jadi 9 gitu ya jadi di sini Maksudnya saya tambahkan rejection itu sebenarnya agar ini aja ya agar kalau misalnya dia mengirimkan masukan data yang bukan number itu kan kita harus number ya Nah takutnya itu kan kalau kita kulit database itu jadinya nggak valid ya karena kan harus number jadi kita tambahkan kalau dia itu adalah number ya jadi kita Tambahkan lagi number seperti ini atau kalau pengen temen-temen bisa tambahkan di belakang sih Ya ini misalnya get tambahkan biar enak ya were misalnya si id-nya itu dia adalah reject ya Di mana reggaxnya itu adalah 09 ini reggaxnya itu reggae number ya plus nah seperti ini Jadi intinya Id ini dia harus ini ya number oke selesai ya Jadi nanti akan dikirim ke sini get nya dan nanti id di sini oke selesai Sekarang kita akan coba implementasi United kita akan buka namanya user test Oke kita akan buat beberapa unit test yang pertama get success ini error Ya sepertinya sudah ada ya get access ya oh ya salah ini Harusnya bukan user test ya melainkan kontak test Oke kita salah buka file contact pertama tes yang kedua adalah tes get not found ya lalu kita akan coba get kontak Sorry test get other contact ada user contact jadi ini nggak boleh ya nggak boleh bisa ya jangan sampai ada user yang bisa ngambil data kontak orang lain oke pertama get sukses dulu nah jadi kita sekarang akan update kontak silindernya saya akan coba tambahkan di sini kontak lalu di sini kita create ya nah tapi sebelumnya saya ambil dulu usernya ya saat ini usernya kita ambil user were username nya itu sama dengan tes kita ambil yang force jadi di sini kita buat misal aja first namenya tes namenya tes juga emailnya tes fontnya soalnya lalu user ID nya itu si user ya Oke selesai berarti di sini kita Panggil dulu ya seat yang pertama adalah user sider yang kedua adalah kontak sider Oke baru kita coba get ke FPI kontak Nah ini ID kontaknya berapa ya Nah ID kontaknya kita ambil misalnya kontak sama dengan kontak ya limit 1 terus kita ambil data yang pertama misalnya ya Jadi kita tambahkan di sini kontak ID Oke selanjutnya kita tambahkan Auto rezation test aset statusnya 200 ya harus dapat lalu Acer di sini kita pastikan Jason nya itu harus data Lalu ada first name ya itu harus tes Lalu dia juga harus ada last name ada email dan ada font oke ya selesai kita coba jalankan kita lihat hasilnya Oke sukses ya berarti sudah benar ini yang dapat ya Nah sekarang kita coba Bikin United yang not found ya Nah di sini ini not found misalnya kontak id-nya saya tambahkan satu gitu ya Artinya kan dia naik gitu ya Nah kita coba lagi ini harusnya adalah 404 ya Ini dia harus error ini message dan ini harus not found Nah kita coba lagi Nah sudah benar not found dan ini misalnya kita mau ambil kontak punya orang lain Jadi di sini kita Panggil yang tes sukses dulu Sorry nggak perlu sih ya kita coba di sini Oke berarti di user silindernya mungkin kita akan tambahkan dua user ya ini user yang pertama kita akan tambahkan ini user yang kedua ya ini tes 2 misalnya ya ini tes 2 ini tes 2 ini tes 2 nanti kita coba ya tes 2 ini ngambil data kontak T1 Nah apa yang terjadi jadi ini sudah kita buat ambil kontaknya ini kan kontaknya milik T1 ya Nah lalu kita coba panggil ini pakai autoresnya tes 2 dia balikannya harusnya 404 ya tidak boleh ada Oke kita akan coba copy isi Jason nya Oke kita coba running Nah benar ya Jadi tidak boleh walaupun kontak id-nya ada gitu ya database tapi kalau dia tes 2 dia tidak boleh mengambil data kontak tes satu Oke jadi seperti ini ya untuk get kontak FPI sekarang kita bahas update kontak api Oke untuk update kontak urlnya sama seperti gate contact ya FPI contact lalu ini ID ID yang akan di update-nya Nah selanjutnya Nah di sini requestnya itu ada parameter auto rezation-nya tokennya kalau di sini ID yang ada di partnya Nah selanjutnya kita lihat di sini request bodynya Force name last name email phone ya Jadi hampir mirip dengan create contact Nah kita akan coba ya dan responsnya 200 ya dan di sini balikannya sama ya seperti create contact Oke kita akan coba Jadi sekarang kita akan buat dulu adalah yang ininya ya request bodynya Oke kita akan buat PHP artisan Max request namanya adalah kontak update request kita buka update kontak Sorry kontak update request nah ini pastikan kalau usernya itu tidak sama dengan nol Oke ini hampir mirip ya jadi di sini hampir mirip seperti ini sebenarnya seperti create kontak ya jadi saya akan coba buka kontak create nah ini saya akan copy semuanya jadi ini untuk update sistemnya timba ya Jadi kalau misalnya dikirim kelasnya menjadi kosong ya udah kita Timpa aja Kosong gitu ya Oke ini juga saya akan copy yang bawahnya yang velg validationnya Oke selesai ya jadi sudah seperti ini Oke selanjutnya kita akan update si kontak controllernya Oke kita akan buat di sini public function ya update nah ketika update Nah kita akan butuh mengirimkan id-nya ya ID yang mau di update-nya jadi di sini adalah integer ID misalnya seperti ini nah lalu di sini baru yang keduanya adalah parameter requestnya yaitu adalah kontak update request balikannya di sini misalnya kontak resource Oke selanjutnya kita ambil dulu user saat ini yang lagi login siapa ya out user Oke selanjutnya kita ambil dulu ya kontaknya Jadi mirip seperti ini sebenarnya ya Nah kita akan ambil dulu kontaknya ada atau enggak kalau misalnya kontaknya tidak ada ya udah balikan langsung nelpon aja gitu ya Nah selanjutnya kalau sudah ada ya kita ambil datanya datanya kita ambil dari request validated Oke Setelah itu kita tinggal masukkan data ke dalam SI kontaknya fill misalnya ya lalu atributnya adalah soridata Nah jadi kita isi semua datanya yang tadi yang dikirim ya ke dalam SI kontak ini Nah setelah selesai gitu ya baru kita update kontak Sorry save kalau udah selesai ya udah tinggal kita returnkan new contact resource contact nah selesai ya jadi simple juga nih untuk update kontaknya Oke kita akan tambahkan di FPI nya kurang lebih seperti ini ya jadi Ini pakainya Put ke kontak ID dan di sini methodnya adalah update lalu sama ini id-nya itu harus number Oke selesai kita coba implemen unitednya kontak tes Oke untuk tes di sini berarti ada yang pertama itu tes update success yang kedua nanti kita akan bikin update ya update validation error nah seperti ini Oke kalau teman-teman mau tambahkan skenario yang lain Silahkan Oke jadi kita Panggil dulu seatnya seatnya itu yang pertama berarti Sorry user silinder lalu kontak silinder selesai lalu kita ambil data kontaknya dulu ya kontak yang ada database seperti ini nanti kita update ini saya akan copy yang di atas yang sukses ya nah ini yang sukses saya akan copy semuanya oke Ini pakainya berarti yang Put ya lalu di sini bodynya apa headernya apa Oke untuk bodynya di sini misalnya kita mau ganti ya ini saya akan copy semuanya ini menjadi tes dua ini dua dua ini dua ya nanti response-nya juga harus sama seperti ini nah Oke kita akan coba sekarang kita coba running sukses ya PT kita sudah benar sukses ya melakukan update data kontaknya Oke kita akan coba yang validation error saya akan copy semuanya kita pindahkan ke sini Oke kita akan contohnya first namenya dikosongkan seperti ini Nah di sini harusnya ada error ya error di sini first name nah detailnya apa nanti kita coba update salah dulu di sini kita coba running nah dia harus ada error dengan message nah ini the first name field is required jadi ini ganti nah seperti ini kita coba running lagi sekarang Oh ya masih salah ya oh ya status code-nya ya ini harusnya 400 coba running nah sukses artinya sekarang kita sudah sukses ya untuk bikin FPI untuk update data kontaknya sekarang kita bahas remove contact Oke untuk remove contact kita menggunakan FPI yang sama ya seperti food dan juga get gimana di sini api kontak ID ya kalau di sini parameternya ada tokennya dan juga id-nya lalu untuk response-nya simpel ya cukup Bulian terus saja Misalnya seperti itu Oke kita akan Coba lakukan kita akan Buka kontak controller di sini kita akan buat function baru public function misalnya delete ya Oke jadi di sini cukup integer ID saja ya ini balikannya adalah Jason response Oke kita akan ambil user terlebih dahulu sama dengan out user ya Lalu setelah itu nah kita akan coba query database sama seperti ini nah selanjutnya kalau misalnya sudah dapat ya tinggal kontaknya kita remove ya sorry delete Nah kalau udah ya udah tinggal rentan response Jason data true statusnya 200 selesai Oke kita akan coba tambahkan ke apinya ini adalah delete ya ini juga dia pakainya yang delete selesai kita coba implementasi kontak tesnya Oke untuk delete berarti yang pertama gitu ya kita akan coba tes delete success yang kedua tes delete not found misalnya Oke jadi di sini saya akan coba copy yang ini ya Oke selesai lalu di sini kita akan coba berarti di sini pakainya delete ya di sini bodynya kan kosong tidak butuh yang penting ada ini Lalu di sini ini juga yang penting ada truk seperti ini nah kita coba yang tes dilihat sukses Oke sukses ya United nya nah sekarang yang tes delete not found nya kita akan coba Delete ID yang tidak ada jadi id-nya ditambah satu misalnya seperti ini Oke kita coba di sini 404 ya ini harusnya error message not found kita coba running sukses Oke kita coba running semuanya Oke sukses semua ya Artinya kita sudah selesai membuat api untuk remove atau delete data kontaknya Sekarang kita akan buat search contactnya ya ini adalah FPI yang lumayan paling kompleks ya karena butuh beberapa kombinasi query parameter Oke kita akan coba oke di sini fpinya adalah menggunakan urlnya ya setelah saya contact lalu dia ada banyak sekali parameter ya parameter utama adalah auto rezation ini di header ya dia tokennya Lalu ada query parameter ada name ya Jadi nanti dia bisa nyari ke first name atau last name ya Nah kita nanti cari menggunakan Liquid Lalu ada font ya Ini juga kalau mau mencari menggunakan font lalu ini ada email Kalau nyari menggunakan email lalu di sini ada size ya ukurannya ada berapa kalau di sini ada facenya saat ini mau melihat page berapa seperti itu ya Oke selanjutnya di sini kita lihat responsnya ya response lumayan banyak ya jadi di sini ada data isinya adalah array ya array dari kontak lalu dia ada Meta ya nanti informasi ada di Meta di sini ya Jadi ini ngikutin formatnya sih ini ya si laravel Oke kita akan coba buat jadi kita akan buat dulu yang ini ya responsnya karena dia berupa collection ya Jadi kita akan buat di sini PHP artisan Mac resource ya kalau di sini adalah kontak collection minus minus ini adalah collection Oke kita akan coba buka kontak collection Nah jadi adalah resource collection returnnya kita akan gunakan rap pakai data ya karena defaultnya memang data nah tapi isinya itu kita ambil dari kontak resource ya collection collection nah seperti ini ya oh ya sorry Nah jadi kita lakukan seperti ini aja oke Sudah selesai ya untuk kontak collectionnya Nah sekarang kita buat kontak controllernya public function berarti di sini search ya Search di sini adalah requestnya Ini Jason resource misalnya ya Oh sorry Jason respon maksud saya Jason respons Oke kita ambil dulu usernya siapa ya jadi di sini kita tambahkan out user Oke selanjutnya kita ambil ininya ya pagenya page berapa kita ambil dari request berarti input page defaultnya kalau tidak diberikan misalnya kita kasih di sini pagenya page 1 misalnya seperti ini ya lalu kita tambahkan sizenya ya request size misalnya Sorry input maksud saya ini size ya kalau tidak diberikan kita kasih defaultnya 10 misalnya ya seperti ini Oke selanjutnya Nah baru kita bikin querynya ya kira-kira querynya seperti apa Oke kita ambil di sini misalnya you contact Sorry kontaks sama dengan di sini kita gunakan berarti kontak query lalu where yang pertama yang pasti dulu ya user ID nya itu harus user ID ya Nah selanjutnya nanti baru di akhir itu kontak titik nanti kan harus PG net ya PG net di sini Nah di sini ada per pagenya mau berapa per pagenya itu adalah size ya lalu di sini pagenya mau berapa page berapa sorry ini ambil dari page nah seperti ini Jadi ini kontak sama dengan nah seperti ini oke nah tapi selain Ini kan ada parameter yang lainnya ya Jadi kita perlu kontak misalnya nah ini kontak where ya Nah di sini kan kombinasi where nya ada banyak ya karena di sini kita cek dia bisa pakai name font dan juga email oke di sini berarti kita bikin pakai function aja Builder ya bawaan dari eloquent Builder Oke jadi yang pertama kita cek dulu ya kalau misalnya ini ya name kalau misalnya dia request sorry ini berarti harus use request ya nah kalau request input name itu ada gitu ya kalau name sorry name itu ada berarti kita perlu tambahkan nih Builder or where di sini Builder lagi sorry ini where Ya maksudnya where tapi di sini orware dia itu first name-nya ya harus sama dengan name Oh ya ini name-nya belum diambil ya ini berarti use name lumayan Kompleks nah terus yang kedua ini adalah last name nah seperti ini Jadi kalau ternyata ada input name-nya maka kita harus tambahkan n lagi ya Di mana dia ada persen atau juga diambil di last name nah lalu kita ambil yang email Oh ya ini bukan semua dengan ya dia harusnya pakai like ya ini pakai like like nah cuma kalau like itu mungkin depannya dia harus ada persen seperti ini jadi ini Memang agak sedikit ribet nih yang liquid nah seperti ini oke lalu kita akan buat yang email ya email kita ambil dari request input email ya Apakah ada email atau tidak Nah kalau emailnya itu ada berarti kita harus Tambahkan lagi Builder where ya lalu di sini email like nah sama nih kayak tadi email nah seperti ini lalu kita ambil yang font ya request input font Nah kalau font nya ada Builder where phone like nah ini font nah seperti ini nah ini lumayan Kompleks ya karena banyak banget kombinasinya jadi kita intinya yang pertama yang penting ada ininya ya ada user id-nya harus sama dengan saat ini lagi-laginya siapa lalu pastikan juga di mana ya kombinasi where-nya itu ada juga kalau dia ada nama berarti harus dicek ke first name atau last name kalau ada email di cek ke email kalau ada font di cek ke font Setelah itu kita ambil menggunakan tinggal di sini kita returnkan ya return Neo kontak collection Nah di sini kontak nah ini return filenya kita ganti dari Jason response menjadi kontak collection Oke harusnya sudah selesai Ya nah tapi untuk memastikan Apakah benar ya kita harus tes dulu Oke kita akan coba sekarang kita tambahkan dulu ke FPI ya di sini nah saya akan copy ini paste Ini pakainya get ya ini adalah search oke selesai kita akan coba Bikin United nya kontak tes Oke sekarang kita akan buat berarti yang pertama kita mau ini banyak banget United nya ya pertama tes search by misalnya name lalu tes search by email lalu tes search by font ya lalu tes pgination Sorry test search with page Nah jadi banyak banget nih harus yang kita buat Oke selain itu juga kita harus Pastikan data kontaknya ada gitu ya jadi jangan sampai tidak ada Oke biar lebih ini saya akan bikin header baru kayaknya namanya misalnya search Oke kita buka search header Nah di sini kita akan bikin perulangan sampai 20 misalnya ya jadi di sini kita akan buat kontak create Force namenya tes titik I gitu ya sama emailnya tambahkan tzn lalu fontnya Oke selesai ya jadi di sini ada force namenya tes I gitu ya 01 sampai 20 lasnya juga sama tes 0-20 emailnya juga sama tes 0-20 ya lalu belakangnya ada 511-nya lalu di belakang dengan 0 sampai 20 Oke jadi di sini kita Panggil dulu Oh ya tadi kita ownernya ya kita lupa tambahkan berarti di sini kita harus ambil dulu user user user where username nya itu adalah tes Oke jadi di sini harus ada user ID nya itu adalah user ID Oke jadi sini kita Panggil sheet user slider lalu search nah selesai Oke sekarang kita berarti get ya ke FPI contact ya Nah lalu di sini kita tambahkan query parameter name sama dengan tes ya jadi harus ada nih baik itu di Oh ya enaknya sih sinder di sini dibedakan ya jadi di sini Force misalnya las seperti itu Oke jadi kita nyari berdasarkan name ya di ini first time nanti ada last name ya ini yang first dulu harusnya dapat ya statusnya harus ini kita ambil get konten deh Oh ya sebagai Jason aja lalu kita cek ya nanti itu harus expect aset equal itu totalnya harus nanti ada 20 ya tapi saya agak lupa di Meta titik apa gitu ya nanti kita cek deh dia harus ada 20 atau kita lock dulu aja info Jason and code responsenya ya kalau di sini dia pastikan harus ada 10 dulu ya karena per pagenya adalah 10 jadi direspons data Oke kita akan coba jalankan oke Ada yang error kita cek errornya di mana Oh ya dia kita lupa menambahkan headernya Oke sukses kita lihat di sini sukses ya berarti bener ya Datanya ada 10 Ya nah tapi untuk lihat saya buka laravel Oke ini banyak banget ya bekasnya nah ini jasonnya nah cuma nggak terlalu kelihatan ya Coba kita Jason and code nya pretty print Oke kita coba running lagi kita lihat di laravelnya nah responnya seperti ini ya Jadi ada data ini ada satu dua tiga harusnya ada 10 ya karena kan yang force itu ada 10 sudah benar lalu di sini ada Meta ya spacenya linksnya nah jadi nah totalnya berarti Meta total ya Meta total harus 20 jadi di sini kita cek totalnya tetap harus 20 ya yang dapat response Meta total Nah kita coba running lagi oke Ada yang error salahnya di mana Oh ya di sini salah tidak perlu pakai cone yang ini kita coba running nah hasilnya sukses Oke ini menggunakan yang first Ya gimana kalau kita pakai yang las yang last namenya jadi dia juga harus bisa ya ke last name jadi ini pakai yang last name ini kita masukkan last name nya harusnya tetap sama ya responsenya kita cek Nah sekarang kita akan nyari berdasarkan email ini akan saya copy emailnya itu tadi pakai tes ya Tes seperti ini depannya jadi kita akan coba pakai email ini adalah tes response harus tetap sama ya kita coba running Oke sukses ya berarti sudah benar Lalu by font oke di sini kita coba yang font font nya ini adalah satu satu satu ya depannya ada 5 seperti ini kita coba running hasilnya sukses Oke sekarang kita akan coba yang search yang tidak ketemu dulu deh ya kita akan copy paste search not found misalnya yang namenya tidak ada seperti ini nah ini harusnya kosong ya Ini juga harusnya kosong seperti ini kita coba running Nah sudah benar ya berarti dia tidak ketemu kita cek di laravelnya yang paling terakhir nah lihat kosong ya dia tidak dapat noh datanya kosong sudah benar berarti oke yang terakhir kita akan lakukan tegination sekarang Oke saya akan copy isinya Sorry isinya Oke kita nggak akan pakai query apa-apa misalnya seperti ini kosongkan aja Nah di sini kita akan tambahkan tapi sizenya misalnya 5 ya and itu page ke-2 misalnya kita akan coba berarti di sini harus ada ini ya harus ada lima ya totalnya nah total ini tetap ada 20 nah tapi kita cek harusnya ada informasi yang ininya ya current page ya current pagenya itu harus dua berarti harus dua Meta yang current pagenya nah seperti ini karena di sini pagenya adalah 2 jadi sizenya adalah 5 kita coba jalankan kita lihat hasilnya nah sukses ya untuk memastikan kita cek di sini di bagian paling bawah Nah di sini totalnya 20 benar current facenya itu dua dan data di sini yang keluar adalah 5 data Nah jadi sekarang kita sudah selesai membuat search contact FPI ya jadi kodenya sebenarnya sederhana ya cuma tinggal kita gabungkan ya menggunakan query buildernya di sini nah tapi yang paling ribet sebenarnya bikin United nya karena kita harus bikin beberapa skenario United nya Sekarang kita akan buat create address FPI Oke untuk create address Nah di sini kita akan lihat di sini urlnya adalah FPI contact ya pakai kontaks Oh di sini ada ID kontaknya ID kontak yang mau kita tambahkan addressnya lalu di sini adalah addressesnya jadi di sini digunakan pos ya parameternya Ada token dan juga ID kontak yang Mau ditambahkan addressnya untuk request bodynya itu ada Street ya Siti propince country dan Postal code nah seperti di awal yang yang requet ya atau yang wajib ada itu adalah si country responsnya sama ya pakai data di dalamnya ada address tapi di sini ada di addressnya Oke kita akan coba berarti kita akan buat 2 ya create address requestnya ya dan juga address resource Oke kita akan buka Sorry buat di sini PHP artisan Mac resource address resource lalu PHP artisan Mac request address create request Oke kita akan buka dulu address resource oke di sini kita akan balikan berarti di sini return yang pertama ada ID ya itu diambil dari disk id lalu dia ada tadi apa aja Street City profit Street Siti profit country dan juga Postal code Oke selesai nah ini saya akan copy semuanya untuk nanti bikin validationnya address create request Oke ini pastikan usernya tidak sama dengan nol Nah di sini kita buat Oke ini tidak requet artinya dia nolable nah cuma di sini ada maxnya ya saya agak lupa coba saya set 200 dulu coba saya buka create address tabel Oke streetnya 200 cc-nya 100 100 portal code-nya 10 Oke ini benar 200 berarti ya ini juga 0 label ini maxnya juga 100 Nah kalau ini request ya maksudnya 100 nah ini no label tapi Max nya 10 Oke selesai kita akan tambahkan ketika terjadi error ya perubahannya saya akan copy dari login request copy paste di sini oke selesai ya kita sudah buat sekarang untuk requestnya Oke kita akan buat controllernya ya PHP artisan make controller address controller Oke kita akan buat di sini public function create ya Nah di sini berarti ada integer ID contact ya lalu di sini ada address create request Ini Jason response Oh ya kita cek dulu apakah saya salah Oh ya ini bener ya 201 udah bener oke yang pertama berarti kita akan ambil dulu ID kontaknya ya dia ada atau enggak jangan sampai saya nambahin address ke kontak yang id-nya itu ternyata tidak ada Jadi kita ambil dulu user sama dengan out Sorry out yang fake user ya user yang lagi login lalu kita coba kontak kita ambil di sini ya menggunakan kontak where user ID nya sama dengan user ID where ID nya itu sama dengan ID kontak misalnya ya lalu kita ambil first Oke selesai kita cek dulu kalau ini sebenarnya mirip kayak yang ini ya kayak kontak controller saya akan copy yang ini nih kodenya Jadi kalau kontaknya tidak ada kita akan throw 404 nah seperti ini oke sekarang kontaknya sudah ada berarti kita akan bikin addressnya Oke kita buat address sama dengan new address ya lalu kita ambil Sorry kita ambil datanya dulu data request value kita ambil dari data Nah tapi di sini berarti kita harus set ya di address yang filmnya apa aja labelnya berarti dia yang pertama Street ya Siti profit country Postal code Oke selesai nah lalu addressnya kita set kontak ID nya itu kita ambil dari kontak ID nah lalu addressnya kita save lalu kita return kan Neo kontak resource dari kontak ya response set status code 201 Oke selesai kita sudah berhasil bikin controller untuk create address sekarang kita tambahkan ke hp-nya Nah di sini berarti route KS ID kontak ya lalu addresses ini adalah address controller lalu dia create ya lalu ini tambahkan where ID kontak itu dia harus reject ya 0 sampai 9 Nah jadi dia harus angka juga oke ini lumayan panjang ya oke selesai kita akan coba Bikin United Oh ya belum kita bikin ya kita akan bikin PHP artisan Mac test address tes Oke kita buka address oke yang pertama tes create success tes ya Sorry test create maksud saya lalu tes create kontak not found misalnya ya Oke sekarang kita coba Jadi di sini kita panggilnya dulu yang pertama user slider lalu kontak silinder Oke kita akan coba post ke FPI kontaks ya Oh ya kita ambil dulu kontaknya berarti ya kontak query limit 1 first Oke kita ambil di sini berarti slash ya titik kontak id titik Slash Oke sekarang kita akan kirimkan request bodynya apa dan juga ininya ya Oke request bodynya yang pertama Street misalnya tes Lalu Siti tes Lalu di sini profit country Postal code authorization ini adalah tes aset statusnya adalah 201 ya hasrat Jason response itu harus data isinya harus ada ini semuanya Oke kita akan coba jalankan oke Ada yang error kita cek errornya di mana Force name Kenapa responnya seperti ini Ini responsnya malah ke ini ya ke kontak kita cek Apakah kita salah ke address controller nah ini kenapa malah kontak ini kita salah ya harusnya address resource ini juga harusnya address oke nah ini enaknya kalau pakai United ya Jadi ketahuan dari awal kalau ada yang salah Oke sukses kita akan coba di sini yang file-nya contohnya di sini country-nya kita kosongkan kontennya kan wajib ya Jadi ini harusnya adalah 400 dan ini harus errors ini country ya nah detailnya apa kita nanti ubah dia itu tulisannya harus the country field is requet Oke kita coba running lagi Oke sukses Sekarang kita coba update ke yang kontaknya tidak ada jadi di sini kontak id-nya kita salahkan ya saya akan tambahkan plus satu seperti ini jadi sini arusnya 404 ini adalah message ya not found kita coba running Oh ada yang salah nih kita cek ininya harusnya tes kita coba running nah sukses jadi kita sekarang Sudah selesai ya bikin api untuk create address sekarang kita buat get address sepi Oke untuk Geta dress itu urlnya adalah FPI contact ID kontaknya apa lalu addresses di sini adalah ID addressnya jadi parameternya ada 3 ya tokennya ID kontak dan juga ID addressnya Nah setelah itu responsnya hampir sama ya di sini adalah detail addressnya Oke kita akan coba buat kita langsung berarti ke address controller karena tidak butuh request body ya Nah di sini kita akan bikin public function gate ya jadi di sini ada integer ID kontak Lalu ada integer ID address Ini Jason Oh ya ini langsung aja ya address resource Oke kita ambil usernya dulu ya jadi usernya adalah out get user Oke jadi yang pertama kita cek dulu kontaknya ada atau enggak gitu ya jadi jangan sampai kontaknya tidak ada nah ini kodenya sama sih seperti ini sebenarnya ya Jadi kita cek kontaknya ada atau enggak Kalau ternyata dia kontaknya ada nah baru kita balikan addressnya jadi kita coba ambil address nah sama ya untuk upgrade juga kita harus ngegatenya pakai kontak Id ini jangan sampai dia nge-gate address punya orang lain Jadi kita gunakan address misalnya di sini where ya lalu di sini kontak id-nya itu sama dengan kontak ID ya where id-nya sama dengan ID address lalu kita ambil yang pertama Oke jadi kita cek kalau ternyata dia addressnya tidak ada kita akan throw yang sama seperti ini misalnya jadi di sini kalau addressnya tidak ada ya kita balikan not found juga ya Nah kalau misalnya dua-duanya ada ya udah kita akan coba di sini return new address resource address selesai kita akan coba tambahkan ke FPI nya Oke ini berarti pakainya get ya kalau di sini ada ID address nah ini lumayan panjang nih saya Enter aja ya ke bawah Where where juga ID address ini sama seperti ini jadi ID addressnya pun harus ini ya harus number ini berarti pakai yang get Oke ini kita enter aja biar tidak terlalu panjang Oke selesai kita akan coba Bikin United nya sekarang oke yang pertama berarti adalah tes get success yang kedua tes get not found ya Oke kita akan buka dulu address silindernya Nah di sini kita akan buat berarti ya Nah untuk membuat kita ambil kontaknya dulu berarti jadi kita ambil kontak query limit satu lalu kita ambil yang pertama Oke selanjutnya kita akan buat address create ya kalau di sini kontak id-nya sama dengan kontak id lalu streetnya tes cd-nya tes lalu provinsinya tes country-nya tes Lalu di sini Postal code nya misalnya Oke selesai jadi di sini kita Panggil dulu seatnya yang pertama adalah usersider lalu kontak sider lalu address Oke kita akan coba Oh ya kita ambil dulu ya berarti ya addressnya address query limit misalnya di sini First Oke kita get ini adalah kontaks ya di sini id-nya lalu dress id Kalau yang di sini itu adalah address kontak ID nah seperti ini Oke kita tambahkan autorization tes asset statusnya harus 200 dan isinya ya Jason nya itu data nah ini isinya harus sama dengan yang address header ya ini saya akan copy selesai kita coba jalankan kita lihat hasilnya oke Ada yang error kita cek Oke dapatnya 404 ya Oh ya ini kontak flash ya Maksudnya kita coba running nah sukses Oke sekarang kita coba yang addressnya salah ya jadi dia harus balikannya 404 jadi di sini addressnya kita ganti +1 seperti ini jadi di sini harusnya 404 ya ini error message not found kita coba running nah sukses berarti kita sudah selesai ya membuat untuk api get addressnya sekarang kita bahas tentang update address FPI Oke untuk update FPI ya jadi di sini sama ya urlnya seperti get address nah bedanya di sini adalah Dia memiliki request body dan menggunakan http methodnya adalah Put Nah di sini request bodynya itu mirip seperti create address jadi nanti kita sistemnya akan Timpa langsung ya Jadi kita Timpa data yang ada di database response juga Sama ya seperti kriya Oke kita akan coba buat ya berarti kita cukup buat sekarang adalah ininya ya yang requestnya jadi kita gunakan PHP artisan Mac di sini request kalau di sini kita buat misalnya address update request Oke kita akan buka address update request nah ini isinya sebenarnya hampir mirip ya Jadi kita akan buka yang address create request jadi yang isinya ini sama gitu ya autoresnya ini kita pindahkan di sini lalu yang ini isinya juga Sama ya untuk role-nya kita pindahkan di sini nah ini juga sama nih kalau terjadi error kita balikan ini Oke selesai kita akan buka yang address controllernya oke di sini kita fokus nah ketika kita melakukan update sama ya kodenya semuanya kita pertama cek dulu kontaknya ada atau enggak gitu ya habis kontaknya ada atau enggak kita cek lagi addressnya ada atau nggak jadi kode yang kita buat ini sebenarnya banyak sekali duplikat ya sebagai programmer bagusnya itu kita jangan bikin kode yang terlalu banyak duplikat ya duplikat itu adalah kode yang sama berulang-ulang itu nggak baik gitu ya Jadi kalau ada satu salah nanti kita harus ubah di semua tempat nah enaknya karena kodenya itu hampir mirip ya antara di sini mencari kontak ini juga mencari kontak gitu ya ini mencari address Nah kita akan buat dalam sebuah function di sini ya Jadi kita akan istilahnya itu reflektor ya Jadi kita bikin private function misalnya get kontak ya Nah di sini ada user usernya siapa lalu di sini integer ID kontak ini returnnya adalah kontak nah ini kita akan lakukan seperti ini aja ini kita copy ya kita paste ke sini kita returnkan sih kontaknya nah selesai jadi seperti ini jadi nanti ini kita ganti ini ya menjadi get kontak ini kita ambil user dan di sini ID kontaknya nah seperti ini nah termasuk ini kita ganti juga berarti ya ini adalah get contact ini adalah user lalu ID kontaknya selesai Selanjutnya ya yang akan kita Oh ini bukan getser ya ini user harusnya nah seperti ini Oke selanjutnya yang ini ya address jadi ini kita akan copy jadi di sini kita akan bikin sebuah private address ini yang pertama dia adalah kontaknya ya lalu integer id address balikannya adalah address ini return address nah selesai seperti ini Jadi ini tinggal kita ubah nih yang bawah sini get address ini adalah kontaknya dan ID address Nah Lihat kodenya bakal lebih rapi ya dan lebih mudah untuk dibaca jadi kalau mau diubah-ubah Silahkan diubah-ubah di Get contact dan juga get address di sini Oke jadi sekarang kita akan bikin public function update ya Di mana ketika update itu ada ID kontak yang di-update lalu ada ID address dan yang terakhir adalah address update request dan balikannya adalah address resource Oke kita akan ambil seperti ini ya Jadi kita ambil Nah jadi kita ambil usernya kontaknya dan juga addressnya oke Selain itu kita ambil data hasil validasinya request ya seperti ini Nah selanjutnya kalau sudah itu tinggal addressnya fill ya kita ubah si datanya oke lalu addressnya kita save dan setelah selesai kita returnkan new address resource selesai simpel ya jadi lebih rapi sekarang kodenya termasuk yang kalau teman-teman buka kontak controller gitu ya ini banyak banget kode yang sama gitu ya jadi di sini dia nge-fine contact ini nge-find kontak ini ngefan kontak Nah tugas teman-teman silahkan dirapikan ya si kodenya Oke sekarang kita akan masuk ke FPI di sini berarti kita akan copy yang ini paste Ini pakainya adalah Put ya dan di sini methodnya adalah update Oke selesai Sekarang kita akan buka address tesnya oke yang pertama yang akan kita buat di sini adalah update success lalu update Field lalu update not found Oke jadi di sini kita akan copy yang ini Oke selesai jadi kita pakai Put ya ke nah ini url-nya lumayan panjang ini saya akan copy yang ini Oke Nah selanjutnya di sini request bodynya apa ya lalu di sini headernya apa Oke request bodynya Kita mau update ya Nah kita akan Coba ambil yang ini kita akan update di sini menjadi misalnya update ya update update update ini menjadi 2222 oke lalu headernya autorization test ya tokennya oke di sini harus aset statusnya jadi 200 Acer Jason oke Jason nya harus ada data isinya harus sama seperti ini ya sesuai dengan yang di updatenya Oke kita sekarang akan coba jalankan kita lihat hasilnya nah suksesnya berarti sudah benar Oke kita akan copy ini kita akan paste yang update field ya Nah di sini yang country-nya kita country-nya kosongkan berarti di sini harus ada error ini adalah country errornya kita cari yang di atas yang nah ini ya the country Field Oke kita akan coba jalankan lagi Nah ada yang error ya kita cek errornya di mana Oh ya statusnya ya harusnya adalah 400 Oke sudah benar kita coba sekarang update yang addressnya tidak ada country-nya update tapi di sini ada si id-nya kita modifikasi ya kita tambahkan satu berarti ini harusnya meses ini 404 ini adalah kita coba running nah sukses Artinya kita sudah selesai ya membuat update address FPI sekarang kita bahas remove address FPI controller ya Nah ini saya akan copy yang update lalu kita ganti menjadi delete Nah kita tidak butuh yang request ini ya Dan ini balikannya cukup Jason response Oke jadi di sini cukup kita gunakan address delete Ya simple cuma seperti itu jadi di sini return response Jason data true ya selesai Oke kita akan buka yang FPI nya ini kita akan copy paste ini delete ya ini juga delete selesai kita akan coba implementasi address tesnya oke tes yang pertama adalah tes delete success tes yang kedua adalah tes delete not found nah simpel ya Oke kita akan coba yang test update access Ya saya akan copy semuanya lalu kita akan paste di sini Oke jadi kita pakainya yang delete ya request bodynya kita kosongkan karena tidak butuh lalu di sini responsnya cukup data stroke selesai kita coba running nah sukses ya Oke kita akan copy paste United nya di sini kita coba yang addressnya tidak ketemu ya plus satu misalnya balikannya harus 404 ini isinya harus error seperti ini ya kita coba running nah sukses jadi simple banget ya untuk yang remove addressnya sekarang kita buat list address sepianya jadi ini tuh lebih sederhana ya Jadi kita cuma ambil semua addressnya aja jadi tidak ada PG Nation dan lain-lain oke fpinya kita pakai FPI contact ID contactnya lalu addressnya nah lalu di sini langsung responsnya Oh ya lupa ya kita di sini belum menambahkan parameternya kita akan copy yang di sini ini parameternya wajib ya perlu dikirim ya jadi ini kita lupa Tambahin nih nah seperti ini jadi parameternya ada tokennya dan juga ID kontaknya ya lalu responnya cukup ya data isinya adalah array dari si ini ya addressnya kita nggak butuh bikin collection ya kenapa resourcel maksud saya Kenapa karena kita bisa manfaatin address resource ya karena kita cukup butuh data Jadi tidak ada Meta lagi Oke kita akan coba sekarang ya di sini address controller ya saya akan copy yang delete di sini oke di sini adalah list ya lalu di sini tidak perlu address id-nya ya tidak perlu ini nah ini kita hapus oke Nah di sini berarti kita akan buat di sini address ya address sama dengan address were gitu ya lalu di sini kontak ID nya itu sama dengan kontak ID gitu ya lalu tinggal kita get selesai nah lalu di sini tinggal kita returnkan di sini return misalnya address resource collection ya kalau di sini datanya adalah address kalau kita mau ubah di sini misalnya respon set statusnya 200 selesai Nah jadi kita ambil semua aja gitu ya jadi nggak perlu pakai pegination Oke selesai kita coba buka yang routingnya jadi di sini rotinya kita pakai yang atas di sini Ini pakainya get ya lalu ini adalah list selesai kita buka address tes Oke kita akan coba tes yang list success tes list kontak not found Oke selesai kita akan copy yang ini ya yang delete sukses Oke kita nggak butuh address sebenarnya di sini jadi kita cukup butuhnya kontak berarti ya kontak sama dengan kontak query limit 1 First kontak ID cukup sampai address seperti ini Oke ini methodnya adalah get ya nggak perlu ada body berarti di sini aset statusnya 200 dan datanya harus dalam bentuk Jason ya dan data yang pertama itu harus ini ya kita copy yang atas mana nih nah yang ini karena kebetulan cuma satu ya addressnya Nah kurang lebih seperti ini Oke kita akan coba running kita lihat hasilnya nah sukses ya berarti sudah benar Oke sekarang kita akan coba nge-gate semua data list tapi list aja maksudnya tapi yang kontaknya tidak ketemu jadi Ini kontaknya yang tidak ketemu plus satu jadi ini harusnya 404 ya dan errornya ini running sukses ya kita coba running semua United nya Nah semuanya sukses ya berarti tidak ada yang error Berarti sekarang kita sudah menyelesaikan semua FPI ya untuk kontak manajemen ini Oke teman-teman jadi kita udah selesai semua fpi-nya ya dan kita juga sudah selesai membuat semua unit testnya nah gimana kalau kita mau sekarang tes Tapi secara manual Oke kita akan coba jalankan aplikasinya lalu kita tes secara manual menggunakan http client ya Nah teman-teman bisa bebas mau menggunakan Postman atau yang lain itu silahkan Oke kita akan coba jalankan dulu ya PHP artisan soft ya Oke sudah jalan ya di portnya adalah 8000 oke sekarang saya akan buat sebuah file di sini untuk melakukan pengetesannya tes titik http nah kebetulan di sini saya menggunakan http client milik si PHP Webtoon ya teman-teman bisa menggunakan http client milik misalnya Visual Studio code atau bahkan menggunakan Postman ya kalau mau mengklik menggunakan UI Oke jadi yang pertama kita akan buat yang registrasi dulu ya jadi registrasi usernya jadi kita gunakan post http localhost 8000 FPI users ya Nah ini Lalu di sini exceptnya Jason juga oke lalu kita pakai misalnya username nya di sini passwordnya rahasia lalu misal di sini namenya Eko Kurniawan Kaneki oke ini adalah register user api Oke kita coba nah sukses ya jadi dia teregistrasi responsnya seperti ini ini created Oke sudah sukses sekarang saya akan coba login user Revia jadi kita post http localhost 8000 FPI user login ya di sini pakai username nya adalah kanebi dan passwordnya adalah rahasia Oke kita coba login nah sukses ya dan kita dapat tokennya nih ini saya akan copy tokennya Nah jadi di sini [Musik] user IPA ini pos ke http localhost 8000 FPI users tepnya Jason Ini get maksud saya ke gate ya kalau di sini kita tambahkan auto rezationnya adalah token ini ya Nah kita akan coba nah dapat ya ini detailnya oke Sekarang berarti saya mau update ya 123 Saya lupa apa aja Oh ya cuma ada 4 ya 5 Sorry ada yang update juga ya update current-nya sama logout Oke kita akan coba yang update dulu update curren user review nah ini berarti page user sekarang lalu di sini accepnya Jason juga oke Saya mau Ubah namenya aja misalnya jadi Eko Kang Edi gitu ya Nah kita coba page Oh sorry auto rezationnya belum ya auto rezationnya token ini kita coba page nah ya berubah ya namenya menjadi Eko sudah benar berarti Oke selanjutnya saya mau logout ya jadi di sini logout user reviewnya berarti tokohnya bakal hilang ya Nah kita akan coba Delete http FPI userstep Jason autorizationnya tokennya ini sukses ya Nah kita coba lagi nge-gate nah dia anotores ya karena tokennya sudah dihapus Oke berarti kita harus login ulang dapat token baru jadi tokennya yang ini semuanya harus kita ganti menjadi token ini kita replace semuanya Oke kita get curren T sudah dapat ya Oke untuk usernya sudah ya kita sekarang akan create kontak FPI Oke kita post ke http FPI contact ya kalau di sini excep Jason autorization si tocon yang baru ini Oke yang pertama adalah first namenya contohnya di sini Joko last name Moro misalnya email Joko advzn.com misalnya font Oke selesai kita coba execute Nah sudah selesai ya ini untuk kontaknya kita dapat id-nya adalah 249 jadi id-nya saya akan copy ya jadi di sini kita akan coba kontak FPI ini id-nya adalah yang 249 ini saya akan copy semuanya Ini pakainya get ya lalu di sini 249 nggak perlu pakai konten tab Nah kita coba running nah dapat ya sudah sukses berarti biar lebih enak ini kayaknya saya pindahkan ke kanan nih Nah seperti ini oke selanjutnya kita akan update kontak ya update kontak FPI yang 249 ini saya akan copy Ini pakainya Put ya juga Jason Oke isinya saya akan copy yang ini kita akan coba kita coba update yang salah dulu ya Coba first name-nya kosong kita coba lihat hasilnya nah errornya seperti ini ya first name-nya requet oke di sini misalnya Budi kita ganti kita coba update nah keluar ya Oke sekarang kita coba Delete delete contact FPI yang 249 ini kita akan copy dia pakainya adalah delete ya tidak ada Coba hapus sukses ya hapus kedua kalinya not found berarti sudah benar Oke sekarang kita akan search ya search kontak FBI Nah kita akan coba ini copy paste Ini pakainya get sampai kontak saja oke di sini datanya kosong ya memang tidak ada datanya ya Ini juga metanya curantisnya satu fromnya Emang nggak ada dan lain-lainnya ya totalnya juga kosong Berarti sebelumnya kita harus Coba bikin kontak dulu nih saya akan bikin beberapa kontak ya Jadi yang pertama kita akan bikin kontak lagi ya Joko ya lalu di sini misalnya Budi Nugraha Emailnya sama nggak papa kalau misalnya Purnama misalnya seperti ini ya lalu misalnya Hendri Kharisma misalnya ya oke udah ada 4 kontak kita coba search ya nah dapat ya totalnya ada 4 dan di sini ada 4 kontak Oke kita coba sizenya itu cukup dua gitu ya jadi pushnya itu cuma 2 kita lihat nah totalnya tetap 4 tapi di sini keluarnya cuma dua ya Joko Moro dan body lalu kalau misalnya kita mau Oke saya mau ke page yang kedua berarti ya page 2 page sama dengan 2 kita coba cek nah Ruli dan Henry seperti itu Oke saya mau nyari Sekarang saya mau nyari Misalnya yang namenya itu ada ini ya Handry misalnya ya kita coba search nah dapatnya satu ya Nah ini dapat first name yang Henry atau yang Moro ya kita coba search nah ini dapat ya yang Joko more atau yang emailnya misalnya seperti ini nah dapat 4 ya karena semuanya memang emailnya Joko seperti ini jadi memang sudah oke nih untuk pencarian data kontaknya Oke sekarang kita akan coba FPI yang create address api Nah yang id-nya 250 ya Oke kita akan coba ini copy paste di sini kontak 250 address ya ini adalah pakainya Pos konten typenya itu adalah Jason Oke kita akan buat di sini yang pertama Street ya ini misalnya jalan belum ada Siti di sini misalnya Jakarta profit DKI Jakarta country Indonesia misalnya Postal code nya Oke selesai kita coba create nah sukses ya belum ada yang 2 misalnya ya kita bikin lagi biar kontak adsnya masih lebih dari satu maksudnya Oke sukses jadi ini ada yang id-nya 25 ya kita akan coba get address api yang 25 ini kita akan copy paste id-nya yang 25 ya ini get Oke kita coba running nah dapat ya yang 25 atau yang 24 nah dapat 24 atau yang tidak ada misalnya nah dapatnya not found ya Nah seperti itu Oke kita perbaiki lagi nah sekarang saya mau update ya Jadi kita akan update address FPI yang ke 25 ini kita copy semuanya Ini pakainya Put ya konten Tab nya Jason ini kita akan copy semuanya paste di sini ini misalnya Jalan Melati Oke kita coba update Nah jadi berubah ya sekarang Jalan Melati kalau country-nya kita kosongkan kita coba update lagi nah dia error ya kontrifield is required oke selesai kita sekarang coba Delete ya remove yang ke-24 misalnya ya Jadi ini saya akan copy kita mau hapus yang ke 24 delete kita coba Delete nah sukses ya kita coba lihat lagi nah dia sudah not found Oke sekarang kita mau ambil semua addressnya please ini saya akan copy paste di sini kita cukup sampai addresses Ini pakainya kita lihat nah ini semua data addressnya kebetulan cuma ada satu kita coba Bikin lagi satu di sini kita coba running lagi yang get nya Nah sekarang dia ada dua address nah jadi kita sudah selesai ya melakukan pengetesan secara manual jadi kalau teman-teman mau tes secara manual Silahkan aja ya nah cuma jadinya terlalu manual ya kalau manual test jadi saya sih tetap sarankan teman-teman bikin United yang sebelumnya sudah kita Praktekkan selesai sudah materi tentang laravel ya Jadi sekarang harusnya teman-teman sudah mulai bisa ya bikin FPI menggunakan laravel jadi teman-teman tinggal Ekspor kita kira-kira bikin studi kasus apalagi ya studi kasusnya Silahkan di ekspor ya sendiri-sendiri oke kira-kira apakah masih akan di update materi kelas Ravel Tentu aja ya Jadi kalau ada nanti materi yang baru yang menurut saya bagus gitu ya kita akan coba update sih kelas ini Oke jadi nextnya kita coba akan fitur kita akan belajar maksud saya explore fitur-fitur yang terbaru atau juga fitur-fitur yang sudah ada di laravel lainnya Sebenarnya masih banyak ya fitur-fitur yang belum kita bahas seperti ada laravel Q gitu ya adalah Rafael misalnya autention dan lain-lain jadi masih banyak yang Nanti bisa kita explore ya nanti juga akan saya coba buatkan kelas-kelasnya nah pastikan juga teman-teman coba perbanyak studi kasusnya Nah kita sudah bisa membuat respon FPI misalnya dengan studi kasus kontak management nanti teman-teman bisa mulai bikin studi kasus yang sederhana dari misalnya mulai dari bikin to do list gitu Ya bikin blog bikin misalnya nanti registrasi user guys book dan lain-lain dan sebagainya gitu ya tapi dalam bentuk happy ya nah jadi teman-teman bisa mulai ekspor atau perbanyak studi kasusnya Oke teman-teman jadi itu aja ya materi tentang laravel kalau teman-teman ada kritik saran atau pertanyaan silahkan dimasukkan di kolom komentar atau di discord programmer zaman now kita ketemu lagi di materi-material selanjutnya salam programmer zaman now Bye