Se eu retornar um objeto:
return Response::json([
'hello' => $value
]);
o código de status será 200. Como posso alterá-lo para 201, com uma mensagem e enviá-la com o objeto json ?.
Não sei se existe uma maneira de apenas definir o código de status no Laravel.
php
json
laravel
http-status-codes
Galivan
fonte
fonte
response()->json([], 200);
adequado para o propósito nesta situação? Ou 200 está implícito?use Illuminate\Http\Response;
ereturn new Response(['message' => 'test'], 422);
trabalhou para mimÉ assim que eu faço no Laravel 5
return Response::json(['hello' => $value],201);
Ou usando uma função auxiliar:
return response()->json(['hello' => $value], 201);
fonte
Eu acho que é uma prática melhor manter sua resposta sob controle único e por isso descobri a solução mais oficial.
response()->json([...]) ->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]);
adicione isto após a
namespace
declaração:use Illuminate\Http\Response;
fonte
Existem várias maneiras
return \Response::json(['hello' => $value], STATUS_CODE); return response()->json(['hello' => $value], STATUS_CODE);
onde STATUS_CODE é o código de status HTTP que você deseja enviar. Ambos são idênticos.
se você estiver usando o modelo Eloquent, o retorno simples também será convertido automaticamente em JSON por padrão, como
return User::all();
fonte
return response(['title' => trans('web.errors.duplicate_title')], 422); //Unprocessable Entity
Espero que minha resposta tenha sido útil.
fonte
Eu mesmo prefiro o auxiliar de resposta:
return response()->json(['message' => 'Yup. This request succeeded.'], 200);
fonte
É melhor fazer isso com funções auxiliares em vez de Fachadas . Esta solução funcionará bem a partir do Laravel 5.7
//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
fonte
laravel 7. * Você não precisa especificar JSON RESPONSE porque é convertido automaticamente para JSON
return response(['Message'=>'Wrong Credintals'], 400);
fonte