Как получить JSON от POST?

Я получаю JSON от клиента Vue.JS через REST Api и хочу получить данные с помощью Eloquent, но это не работает. Это не блейд и не стандартные данные отправки формы, я получаю JSON Api от клиента, одностраничное приложение.

Это JSON, адресованный маршруту '/order' от клиента, метод POST:

    {
        "name": "John",
        "phone": "+7 794 910 5708",
        "email": "[email protected]"
    }

Маршрут:

Route::post('/order','OrderController@order');

В контроллере я пытаюсь сделать это:

    <?php

    namespace App\Http\Controllers;

    use Request;
    use App\Data;

    class OrderController extends Controller
    {
        public function order()
        {
            $input = Request::all();
            $data = new Data;
            $data->name = $input['name'];
            $data->phone = $input['phone'];
            $data->save();
            return response()->json(['result' => '200 OK'], 200);
        }
    }

Но ничего не происходит. Каков правильный синтаксис для получения данных от REST API?

Пробовали ли вы выполнять отладку, выгружая данные запроса, которые вы получаете? Например, можете ли вы поделиться тем, что вы получаете, когда делаете dd(request()->all());? Поместите это в свою функцию заказа в качестве первой строки.

nakov 05.06.2019 23:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Внесите некоторые изменения, как показано ниже:

В контроллере:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Data;

class OrderController extends Controller
{
    public function order(Request $request)
    {
        $post = $request->all();

        $data = Data::create($post);

        if ($data){
            return response()->json(['success' => true, 'message' => 'Data has been inserted!']);
        } else {
            return response()->json(['success' => false, 'message' => 'Data not inserted, Something went wrong!']);        
        }
    }
}

Другие вопросы по теме