2015-08-18 12 views
5

Esiste un modo per specificare i parametri predefiniti per Response :: json()? Il problema è che, nel mio caso, di risposta :: JSON ($ dati) restituisce utf8 e dal momento che ho bisogno di specificare i parametri extra per essere in grado di leggerlo:Come specificare i parametri predefiniti per Response :: json()

$headers = ['Content-type'=> 'application/json; charset=utf-8']; 
return Response::json(Course::all(), 200, $headers, JSON_UNESCAPED_UNICODE); 

Questo è abbastanza faticoso e sembra superfluo ...

risposta

4

È possibile creare un nuovo metodo nel controller (di base) per impostare tutte quelle intestazioni.

protected function jsonResponse($data) { 
    $headers = ['Content-type'=> 'application/json; charset=utf-8']; 
    return Response::json($data, 200, $headers, JSON_UNESCAPED_UNICODE); 
} 

e poi tornare la vostra risposta come questo nel tuo percorso di controllo:

return $this->jsonResponse(Course::all()); 

Oppure si potrebbe creare una nuova classe UTF8JsonResponse estendere il default Response, impostando tutte le intestazioni nel costruttore, e il ritorno che return new UTF8JsonResponse(Course::all()).

Problemi correlati