玩轉 Laravel 的 API - 一個簡單的註冊以及登入
IPFS
記錄一下,寫 API 還是拿 Laravel 來寫,因為 Laravel 與 Lumen 差不多
- API 的規劃
- 依循客戶的要求
- 寫程式,postman 測試是否有問題
- 結束第一段啦!
API 規劃
它的 API 的規劃,其實不是很好,他不是使用經常使用的 email 當成主要的 key,而是 UserID 來用,不過是業主提出來的,反正能跑就 OK 了
API 目前階段只有兩個,註冊以及登入,有的部分改了顯示的名稱
寫程式
就開始寫程式了,這裡用 app/Http/Controller/ApiController.php
<?php namespace App\Http\Controllers; use App\User; use App\Yazi; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use Validator; use App\Kategori; use Illuminate\Support\Facades\Hash; class ApiController extends Controller { public function login(Request $request) { if (Auth::attempt(['user_id' => request('UserID'), 'password' => request('UserPwd')])) { $user = Auth::user(); $token = $user->createToken('S8TvNFd6Pf1cCdQ7hkKNbcYER4UHVFir25nCTZAh')->accessToken; return response()->json(['errorFlag' => '0', 'token' => $token], 200); } else { return response()->json(['errorFlag' => '404'], 401); } } public function register(Request $request) { $validator = Validator::make($request->all(), [ 'UserName' => 'required', 'UserID' => 'required', 'UserPwd' => 'required', 'UserSchool' => 'required', 'UserGrade' => 'required' ]); if ($validator->fails()) { return response()->json(['errorFlag' => '404'], 401); } try { $user = User::create([ "name" => $request->UserName, "user_id" => $request->UserID, "password" => bcrypt($request->UserPwd), 'school' => $request->UserSchool, 'grade' => $request->UserGrade ]); } catch (\Exception $e) { return response()->json(['errorFlag' => '1'], 401); } return response()->json(['errorFlag' => '0'], 201); } }
然後修改 router/api.php
Route::post('/WA_SignIN', 'ApiController@login'); Route::post('/WA_SignUp', 'ApiController@register');
POSTMAN 測試註冊
- 使用者名稱:UserName
- 使用者 ID: UserID
- 使用者密碼:UserPwd
- 學校:UserSchool
- 班級:UserGrade
不過這不是以 Email 為主,它也沒有再一次確認密碼,所以這個做的有點奇怪,不過是業主要的方式,也就是 UserID 沒有重覆就註冊成功
- errorFlag: 0 ,表示通過
- errorFlag: 1 ,表示沒有通過
POSTMAN 測試登入
登入主要是 UserID, UserPwd,只要這兩個對,很快就有 token 已經 errorFlag
就這樣,完成註冊以及登入兩個 API,夠簡單吧!
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐