Encapsulando o Response da API RESTful

API RESTful. Gostaria que todos os retornos de minha API Restful fossem padronizadas e tivessem a mesma estrutura.

Para padronizar o retorno das requisições de uma API Restful, o indicado é a criação de uma classe responsável por encapsular os dados de retorno de um modo estruturado.

Por isso devemos criar uma classe “Response” ou com qualquer outro nome, que conterá uma estrutura mínima para manipular os casos de sucesso ou erro em uma requisição, mantendo assim toda a estrutura da API padronizada.

Primeiramente vamos criar uma classe para encapsular todas as requisições HTTP de nossa API.

import java.util.ArrayList;
import java.util.List;

public class Response<T> {

/*Com está variável podemos receber qualquer objeto*/
	private T data;
	private List<String> errors;

	public Response() {
	}

	public T getData() {
		return data;
	}

	public void setData(T data) {
		this.data = data;
	}

	public List<String> getErrors() {
		if (this.errors == null) {
			this.errors = new ArrayList<String>();
		}
		return errors;
	}

	public void setErrors(List<String> errors) {
		this.errors = errors;
	}
}

Na classe acima foram definidos basicamente dois atributos, “data” para conter os dados em caso de sucesso, e “errors” para armazenar mensagens de erros do sistemas.

Nesse caso, todas as requisições seguirão um mesmo padrão, verifique no código a seguir como ficaria o controller em Spring Boot:

@RestController
@RequestMapping("/api/empresas")
public class EmpresaController {
	@PostMapping
	public ResponseEntity<Response<EmpresaDto>> cadastrar(@Valid @RequestBody EmpresaDto empresaDto,
			BindingResult result) {

		Response<EmpresaDto> response = new Response<EmpresaDto>();

		if (result.hasErrors()) {
			result.getAllErrors().forEach(error -> response.getErrors().add(error.getDefaultMessage()));
			return ResponseEntity.badRequest().body(response);
		}

		empresaDto.setId(1L);
		response.setData(empresaDto);
		return ResponseEntity.ok(response);
	}
}

Baixe o ebook de API RESTful em Spring Boot

 
Encapsulando o Response da API RESTful
 

Curso que recomendo para você

Selecionamos uma série de cursos on-line para você se preparar e abrir as portas para as vagas de programação. Conheça cada um dos cursos nos links oficiais abaixo.

Construa e plublique APIs com Spring Boot
RESTful Spring Boot
No curso você será capaz de criar APIs RESTful com elementos altamente escaláveis e publicar em cloud.
593 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 147
12x de R$ 14,32
O curso API RESTful com Spring Boot e Java 8 – Guia de Referência, é um curso que visa apresentar os principais componentes de uma API RESTful eficiente e escalável no formato de problemas e soluções.
Mais de 200 aulas curso completo em JSF 2.2
JSF 2.2 e PrimeFaces
Curso completo em JSF 2.2 com PrimeFaces, Spring, Hibernate, JPA, Ireport e CDI. Iremos do básico ao avançado em JSF.
2.985 alunosHoras do curso 100h Horas do curso certificado
Promoção R$ 189
12x de R$ 18,41
A melhor forma de aprender a desenvolver sistemas em Java é tendo como exemplo um projeto e curso completo onde possa observar o código para melhor entendimento do funcionamento das rotinas a acompanhar as vídeos aulas de desenvolvimento. Esse curso contém tudo que um desenvolvedor precisa saber para entrar no mercado de trabalho.

 

 

 


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Conheça os curso gratuitos
Grátis

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java

Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.