Rumah >rangka kerja php >Laravel >Bagaimana untuk menulis antara muka dalam laravel
Dalam pembangunan web, antara muka adalah bahagian yang tidak dapat dielakkan. Rangka kerja Laravel menyediakan cara yang mudah tetapi berkuasa untuk menulis dan mengurus API. Dalam artikel ini, kita akan melihat secara mendalam cara rangka kerja Laravel menulis antara muka.
API merujuk kepada "Antara Muka Pengaturcaraan Aplikasi", yang merupakan spesifikasi untuk komunikasi antara aplikasi dan aplikasi lain. API membolehkan kami membina aplikasi merentas platform, merentas bahasa dan merentas organisasi.
Dalam pembangunan web, API sering digunakan untuk membenarkan halaman web dan aplikasi web mengakses data pada pelayan, atau membenarkan aplikasi web berkomunikasi dengan perkhidmatan pihak ketiga. Oleh itu, pembangun memerlukan cara yang fleksibel dan boleh dipercayai untuk menulis API.
Tentukan Laluan API Laravel
Route::get('/api/users', 'UserController@index');Kod di atas mentakrifkan laluan yang akan mengakses URI /api/pengguna menggunakan permintaan GET dan akan melaksanakan kaedah indeks. Jika kita ingin menentukan laluan yang boleh dibuat menggunakan permintaan POST, kita boleh melakukan ini:
Route::post('/api/users', 'UserController@store');Kod di atas mentakrifkan laluan yang akan mengakses URI /api/ menggunakan POST meminta pengguna dan akan melaksanakan kaedah kedai dalam kelas UserController. Begitu juga, kami boleh menggunakan permintaan PUT dan DELETE untuk mengemas kini dan memadam data:
Route::put('/api/users/{id}', 'UserController@update'); Route::delete('/api/users/{id}', 'UserController@destroy');Kod di atas mentakrifkan laluan untuk mengemas kini dan memadam pengguna tunggal menggunakan permintaan PUT dan DELETE, masing-masing.
Menulis Pengawal Laravel
namespace AppHttpControllers; use AppUser; class UserController extends Controller { public function index() { $users = User::all(); return response()->json($users); } public function store(Request $request) { $user = new User; $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); return response()->json($user); } public function update(Request $request, $id) { $user = User::find($id); $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->save(); return response()->json($user); } public function destroy($id) { $user = User::find($id); $user->delete(); return response()->json(['message' => 'User deleted']); } }Kod di atas mentakrifkan kelas pengawal yang dipanggil UserController Controller, yang mengandungi kaedah yang berbeza untuk mengendalikan permintaan GET, POST, PUT dan DELETE. Sebagai contoh, kaedah index() akan mendapat semua pengguna, kaedah store() akan mencipta pengguna baharu, kaedah kemas kini() akan mengemas kini pengguna sedia ada dan kaedah destroy() akan memadamkan pengguna sedia ada.
Sediakan perlindungan laluan
Route::group(['middleware' => 'auth:api'], function () { Route::get('/api/users', 'UserController@index'); Route::post('/api/users', 'UserController@store'); Route::put('/api/users/{id}', 'UserController@update'); Route::delete('/api/users/{id}', 'UserController@destroy'); });Kod di atas akan mencipta kumpulan laluan berdasarkan perisian tengah auth:api, yang bermaksud bahawa hanya selepas mengesahkan dengan RESTful API Laluan ini boleh hanya boleh diakses (melalui OAuth, JWT, dll.).
Kembalikan respons JSON
public function index() { $users = User::all(); return response()->json($users); }Kod di atas akan menukar semua butiran pengguna dalam Format JSON dikembalikan.
Pastikan ketersediaan dan kestabilan API melalui ujian
Atas ialah kandungan terperinci Bagaimana untuk menulis antara muka dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!