Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    188

    laravel - recuperare codice risposta

    Ciao a tutti,

    sto cercando modificare una repo per laravel che memorizzi i log nel db. Nello specifico, sto provando a modificare https://github.com/montross50/larave...aseHandler.php

    voglio aggiungere al campo "codice_risposta" (che ho creato nel db) il codice della risposta inviata dall'applicazione.

    Per esempio, con:

    Route::fallback(function(){
    return response()->json(['message' => 'Not Found'], 404);
    })->name('api.fallback.404');

    dovrebbe memorizzarmi il codice di risposta 404 corrispondente a pagina non trovata.

    purtroppo se aggiungo all'array data:

    'codice_risposta' => Resp::getStatusCode(), //use Illuminate\Http\JsonResponse as Resp;

    ho l'errore:
    Non-static method Symfony\Component\HttpFoundation\Response::getStat usCode() should not be called statically


    qualcuno sa darmi una mano su come risolvere?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Dall'errore che ti da il metodo che tu usi non può essere usato staticamente.
    Dovresti usarlo su un oggetto Response istanziato che non so se c'è o meno.

    Posta il tuo codice e vediamo di capirci qualcosa in più.

    p.s. ma getStatusCode() esiste? io ho sempre usato semplicemente status().

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    188
    si, hai ragione.

    status da quello che ho capito richiama getStatusCode, quindi credo sia la stessa cosa. Sono 3 giorni che ci sbatto la testa e che provo soluzioni su soluzioni e getStatusCode (ho cercato su internet e pare che vada) è l'ultima che ho provato. Sinceramente a me va bene anche status.


    alla repo (in modo specifico sto lavorando sul file
    https://github.com/montross50/laravel-database-monologger/blob/master/src/Logger/Monolog/Handler/DatabaseHandler.php) non ho modificato quasi nulla, se non:

    1- aggiunto il nuovo campo "
    codice_risposta" (di tipo int) alla tabella nel db

    2- aggiunto "
    use Illuminate\Http\JsonResponse as Resp;" in alto al file

    3- all'array "data" ho aggiunto la riga:
    'codice_risposta' => Resp::getStatusCode(),

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Secondo me ti conviene gestire la fallback tramite un controller invece che direttamente dalla route, così ti generi la response li dentro, utilizzi il serviceprovider per loggare tutto sul db (a quel punto puoi prendere tutti i dati che vuoi dalla response che hai generato) e ritorni la response al client.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.