Home > Mobile >  View a Json request
View a Json request

Time:11-06

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);
  • Related