Wenn ich ein Objekt zurückgebe:
return Response::json([
'hello' => $value
]);
Der Statuscode lautet 200. Wie kann ich ihn mit einer Nachricht in 201 ändern und mit dem json-Objekt senden?.
Ich weiß nicht, ob es eine Möglichkeit gibt, den Statuscode in Laravel festzulegen.
php
json
laravel
http-status-codes
Galivan
quelle
quelle
response()->json([], 200);
in dieser Situation zweckmäßig? Oder ist 200 implizit?use Illuminate\Http\Response;
undreturn new Response(['message' => 'test'], 422);
arbeitete für michSo mache ich das in Laravel 5
return Response::json(['hello' => $value],201);
Oder mit einer Hilfsfunktion:
return response()->json(['hello' => $value], 201);
quelle
Ich denke, es ist besser, Ihre Antwort unter Kontrolle zu halten, und aus diesem Grund habe ich die offiziellste Lösung gefunden.
response()->json([...]) ->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]);
Fügen Sie dies nach der
namespace
Deklaration hinzu:use Illuminate\Http\Response;
quelle
Es gibt mehrere Möglichkeiten
return \Response::json(['hello' => $value], STATUS_CODE); return response()->json(['hello' => $value], STATUS_CODE);
Dabei ist STATUS_CODE Ihr HTTP-Statuscode, den Sie senden möchten. Beide sind identisch.
Wenn Sie das Eloquent-Modell verwenden, wird die einfache Rückgabe standardmäßig auch automatisch in JSON konvertiert.
return User::all();
quelle
return response(['title' => trans('web.errors.duplicate_title')], 422); //Unprocessable Entity
Hoffe meine Antwort war hilfreich.
quelle
Ich bevorzuge den Reaktionshelfer selbst:
return response()->json(['message' => 'Yup. This request succeeded.'], 200);
quelle
Es ist besser, es mit Hilfsfunktionen zu tun, als mit Fassaden . Diese Lösung funktioniert ab Laravel 5.7 gut
//import dependency use Illuminate\Http\Response; //snippet return \response()->json([ 'status' => '403',//sample entry 'message' => 'ACCOUNT ACTION HAS BEEN DISABLED',//sample message ], Response::HTTP_FORBIDDEN);//Illuminate\Http\Response sets appropriate headers
quelle
Laravel 7. * Sie müssen JSON RESPONSE nicht spezifizieren, da es automatisch in JSON konvertiert wird
return response(['Message'=>'Wrong Credintals'], 400);
quelle