2015-08-18 18 views
5

Czy istnieje sposób określenia parametrów domyślnych dla Response :: json()? Problem polega na tym, że w moim przypadku, odpowiedzi :: json ($ dane) zwraca utf8 i od tego trzeba określić dodatkowe parametry, aby móc ją przeczytać:Jak określić domyślne parametry dla Response :: json()

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

To dość męczące i wygląda zbędny ...

Odpowiedz

4

Możesz utworzyć nową metodę w swoim (podstawowym) kontrolerze, aby ustawić wszystkie te nagłówki.

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

a następnie powrócić odpowiedź jak to w trasie kontrolera:

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

Albo można utworzyć nową klasę UTF8JsonResponse rozszerzenie domyślne Response, wyznaczając wszystkie nagłówki w konstruktorze, a wracając, że return new UTF8JsonResponse(Course::all()).

Powiązane problemy