Série Laravel 5.5: Responsable Interface

Responsable Interface

Essa interface permite que instâncias de classes que a implementam sejam retornadas diretamente por Routes ou através de Controllers sem precisar ser transformadas em JSON ou algum outro tipo de Response em várias partes diferentes da aplicação. Para isto basta implementar a interface e o método toResponse() na classe que você deseja retornar.

Classe que poderá ser retornada. (Car.php)

Podemos retornar uma instancia de Car diretamente do Route utilizando uma função anônima ou de nossa CarController.

Retornando instância de Car diretamente do arquivo de rota. (route.php)
Retornando a partir de uma controller. (CarController.php)

O nosso exemplo apenas retorna os atributos de Car como JSON de uma forma bem mais transparente, legível e simples, porém você pode utilizar este novo recurso como bem entender como por exemplo retornando um response já com o http status code ou retornar uma collection de uma única vez de forma simples, sem precisar tratar-lo toda a vez tiver que retorna-la. Basicamente ao utilizar Responsable como retorno o Laravel invoca o método toResponse() da classe e retorna o seu conteúdo, parecido com o toString() no Java quando “printamos” um objeto.Este é um ótimo recuso para trabalhar com APIs, então se divirta 😁.

Like what you read? Give Carlos Eduardo a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.