пожалуйста, смотрите код ниже UserController. Я пытаюсь использовать VUEJS через api . Так что я создал маршруты для регистрации и входа в систему на api.php . Для тестирования я пытаюсь передать данные через почтальона и через http://localhost:8000/api/register с Принято приложение / json и Content-type с приложением / json . Я передаю данные через тело как данные формы. Проблема в том, что когда я пытаюсь отправить данные, почтальон отправляет данные непрерывно без ответа, а когда я отменяю запрос, порт 8000 больше не работает. Поэтому я должен остановить сервер и запустить снова. Может кто-нибудь сказать мне, есть ли какие-либо ошибки в моем коде. Я использую laravel 5.7
<?php
namespace App\Http\Controllers\Api;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use GuzzleHttp\Client;
use Illuminate\Support\Facades\Hash;
class UserController extends Controller
{
public function register(Request $request){
$request->validate([
'name' => 'required',
'email'=> 'required',
'password'=> 'required'
]);
//add some cde that what happen if validation fils
$newUser = User::firstOrNew(['email'=> $request->email]);
$newUser->name = $request->name;
$newUser->email =$request->email;
$newUser->password = bcrypt($request->password);
$newUser->save();
$http = new Client;
$response = $http->post(url('oauth/token'), [
'form_params' => [
'grant_type' => 'password',
'client_id' => '2',
'client_secret' => '9J0sU4Ctz5p3AUz7ROiv7jELnGrU5waepprqICyH',
'username' => $request->email,
'password' => $request->password,
'scope' => '',
],
]);
return response(['data' => json_decode((string)$response->getBody(), true) ]) ;
}
public function login(Request $request){
$request->validate([
'email'=> 'required',
'password'=> 'required'
]);
$user = User::where('email', $request->email)->first();
if(!$user){
return response(['status' => 'error' , 'message'=> 'user not found']);
}
if(Hash::check($request->password, $$user->password)){
$http = new Client;
$response = $http->post(url('oauth/token'), [
'form_params' => [
'grant_type' => 'password',
'client_id' => '2',
'client_secret' => '9J0sU4Ctz5p3AUz7ROiv7jELnGrU5waepprqICyH',
'username' => $request->email,
'password' => $request->password,
'scope' => '',
],
]);
return response(['data' => json_decode((string)$response->getBody(), true)]);
}
}
}