From my raspberry, I send a json to Laravel with requests.post method in python. I need to know how I can catch this json in Laravel and displaying it.
Raspberry code that send json
def readFile():
with open("/home/pi/Desktop/Progetti SIoTD/Bluetooth/device.txt", "r") as file:
for i in file:
line, *lines = i.split()
if line in mac_dict:
mac_dict[line] = lines
else:
mac_dict[line] = lines
print(mac_dict)
print("\n")
json_obj = json.dumps(mac_dict, indent=4) #encode json
print(json_obj)
r = requests.post(ip, json=json_obj)
print(r.text)
I use the route in api.php with the POST method:
Route::post('dictionary', [DictionaryController::class, 'getDict'])->name('dictionary');
And the controller is this:
class DictionaryController extends Controller
{
public function index()
{
return view('backend.auth.user.dictionary');
}
public function store(Request $request)
{
}
public function show($id)
{
}
public function update(Request $request, $id)
{
//
}
public function destroy($id)
{
//
}
public function getDict(Request $request)
{
}
}
In the controller I created a getDict function for capture the request and display on dictionary.blade.php view but I don't know to do it.
The view is: Is empty because I don't know if I should do anything with it
@extends('backend.layouts.app')
@section('content')
@endsection
CodePudding user response:
Easiest way is to Log the incoming Request:
use Illuminate\Support\Facades\Log;
class DictionaryController extends Controller
{
public function index(Request $request)
{
Log::info($request->all());
return view('backend.auth.user.dictionary');
}
...
}
Docs: https://laravel.com/docs/8.x/logging#writing-log-messages
With the $request->all();
all() function you will print all incoming parameters within the request.
CodePudding user response:
You can use the die and dump function in laravel like this.
dd($request);