2015-08-18 9 views
5

Gibt es eine Möglichkeit, Standardparameter für Response :: json() anzugeben? Das Problem ist, dass in meinem Fall Antwort :: json ($ data) gibt utf8 und dass, da brauche ich zusätzliche Parameter angeben zu können, um es zu lesen:So geben Sie Standardparameter für Response :: json() an

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

die ziemlich lästig ist und sieht aus wie überflüssig ...

Antwort

4

Sie können eine neue Methode in Ihrem (Basis-) Controller erstellen, um alle diese Header festzulegen.

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

und dann wieder Ihre Antwort wie diese in Ihrem Controller Route:

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

Oder Sie könnten eine neue UTF8JsonResponse Klasse erweitert die Standard-Response, das Setzen alle Header im Konstruktor erstellen, und der Rückkehr, dass return new UTF8JsonResponse(Course::all()).

Verwandte Themen