Я хочу иметь возможность зарегистрировать пользователя Laravel из моего внешнего интерфейса Vue, чтобы я мог создавать учетные записи сотрудников. Я строю объект данных спереди и отправляю ovject с запросом post на мой маршрут /api/v1/users
, который направляет на UserController@store
.
Сообщение Axios:
...
getHeaders() {
return {headers: {
"Content-Type": 'application/json',
"accept": "application/json",
}}
},
...
postRequest(extraHeaders = {}) {
let body = {"key": "Whoow"};
console.log("Body:", body);
axios.post(
method: 'post',
url: "http://${subDomain}.domain.lan/api/v1/users",
headers: this.getHeaders(),
body: body,
})
.then(function (response) {
console.log("response", response.data);
})
.catch(function (error) {
return error;
});
},
...
Полезная нагрузка запроса в devtools показывает мне: {key: "Whoow"}
что в точности совпадает с напечатанным в консоли: Body: {key: "Whoow"}
В моем UserController@store
я получаютолько строка «admin» как $data
...
use Illuminate\Support\Facades\Request;
...
protected function store(Request $data)
{
Log::debug("Request received");
Log::debug(gettype($data));
Log::debug($data->all());
return response()->json(["name" => "Pieter"]);
}
...
Журнал Laravel показывает мне это:
[2019-10-16 22:00:27] local.DEBUG: Request received
[2019-10-16 22:00:27] local.DEBUG: string
[2019-10-16 22:00:27] local.DEBUG: admin
На переднем конце я получаю ответ правильно:
response {name: "Pieter"}
В случае, если это имеет значение, мой маршрут:
Route::post('/api/v1/registrations', 'Auth\RegisterController@store');
Согласно документам Laravel (https://laravel.com/docs/5.7/requests) я должен получить Request
объект. Я понятия не имею, почему я получаю что-тоотличается от фактического поста.
Может кто-нибудь мне помочь?