2016-05-18 19 views
5

Laravel ve Lumen için yeni. Her zaman çıkış olarak sadece bir JSON nesnesini alıyorum. Bunu Lumen'de nasıl yapabilirim?Laravel Lumen JSON yanıtını sağlayın

response()->json($response); kullanarak bir JSON yanıtı alabilirsiniz. Ancak bir hata oluştuğunda, API bana text/html hataları veriyor. Ama sadece application/json yanıtını istiyorum.

Şimdiden teşekkürler.

cevap

16

İstediğiniz yanıtı döndürmek için özel durum işleyicinizi (app/Exceptions/Handler.php) ayarlamanız gerekir.

Bu, yapılabilecekler için çok temel bir örnektir. cevap için

public function render($request, Exception $e) 
{ 
    $rendered = parent::render($request, $e); 

    return response()->json([ 
     'error' => [ 
      'code' => $rendered->getStatusCode(), 
      'message' => $e->getMessage(), 
     ] 
    ]); 
} 
+0

teşekkürler. Ancak biraz sorum var, bunu yapabilir miyim? 'return response() -> json (['code' => $ rendered-> getStatusCode(), 'message' => $ e-> getMessage()], $ rendered> getStatusCode()); istisnalar listesi ve henüz bir liste bulamadı. –

+0

Bu bana iyi görünüyor. Heres, 'response() -> json()' işlevinin imzasını taşır. https://github.com/laravel/lumen-framework/blob/5.2/src/Http/ResponseFactory.php#L35 – Wader

İlgili konular