初めまして。
プログラミング初心者でよく分かっていない部分もありますがご了承ください。
現在、メルカリのようなECサイトをLaravelとVue.jsを使って作っています。
フロントをVue.js、バックをLaravelで作っているのですが、
思うようにいかないので、質問させていただきます。
発生している問題・エラーメッセージ
Laravelのコントロールで設定したメソッドを
Vue.jsのほうで使いたいのですが、
その方法がどのサイトにも載っていません。
他のサイトではLaravel内でのbladeファイルをフロントとして
使っているので、Vue.jsをフロントで使用するときの
コントローラーでのメソッドを取得する方法を教えて頂きたいです。
vueとlaravelは別々のブランチに指定しています。
該当のソースコード
<api.php> //新規登録 Route::post("/register", "App\Http\Controllers\UserController@register");
<UserController.php> public function register(Request $request){ $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:100', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|string|min:8|max:255|confirmed', 'password_confirmation' => 'required|string|min:8|max:255', ]); if($validator->fails()) { return response()->json([ 'status' => 'error', 'messages' => $validator->messages() ], 200); } $user = new User; $user->fill($request->all()); $user->password = bcrypt($request->password); $user->save(); return response()->json([ 'status' => 'success', 'data' => $user ], 200); }
<RegisterForm.vue> <template> <div class="container"> <form class="forms" action="route(register)" method="POST"> <div class="form-group"> <label>名前</label><br> <input type="text" name="name" class="form-content" id="name" value="{{ $inputs['name'] }}"> </div> <div class="form-group"> <label>メールアドレス</label><br> <input type="email" placeholder="info@example.com" name="email" class="form-content" id="email" v-model="email"> </div> <div class="form-group"> <label>パスワード</label><br> <input type="text" name="password" class="form-content" id="password" v-model="password"> </div> <div class="form-group"> <label>パスワード確認</label><br> <input type="text" name="password_confirmation" class="form-content" id="password_confirmation" v-model="password_confirmation"> </div> <button type="submit" class="btn btn-primary">送信</button> </form> </div> </template>
試したこと
https://www.hypertextcandy.com/vue-laravel-tutorial-authentication-part-3
このサイトを参考にして進めていますが、上手くいきません。
補足情報(FW/ツールのバージョンなど)
php 8.0.2
Laravel Framework 8.29.0
vue 3.0.6
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。