0

I receive JSON from Vue.JS client via REST Api, and I'd like to get data using Eloquent, but it doesn't work. It's not blade and not standard form-submit data, I receive JSON Api from client, single-page application.

This is the JSON, addressed to route '/order' from client, method POST:

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

The route is:

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

In a Controller I try to do that:

 <?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); } } 

But nothing happens. What is the right syntax to receive data from REST Api?

1
  • 2
    Have you tried debugging by dumping out the request data that you receive? For example can you share what you get when you do dd(request()->all());? Put this in your order function as a first line. Commented Jun 5, 2019 at 21:10

1 Answer 1

0

Make some changes as per below:

In controller:

<?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!']); } } } 
Sign up to request clarification or add additional context in comments.

Comments