package br.com.livro.rest; import java.util.List; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import br.com.livro.domain.Carro; import br.com.livro.domain.CarroService; import br.com.livro.domain.Response; @Path("/carros") @Produces(MediaType.APPLICATION_JSON + ";charset=utf-8") @Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8") public class CarrosResource { private CarroService carroService = new CarroService(); @GET public List<Carro> get() { List<Carro> carros = carroService.getCarros(); return carros; } @GET @Path("{id}") public Carro get(@PathParam("id") long id) { Carro c = carroService.getCarro(id); return c; } @GET @Path("/tipo/{tipo}") public List<Carro> getByTipo(@PathParam("tipo") String tipo) { List<Carro> carros = carroService.findByTipo(tipo); return carros; } @GET @Path("/nome/{nome}") public List<Carro> getByNome(@PathParam("nome") String nome) { List<Carro> carros = carroService.findByName(nome); return carros; } @DELETE @Path("{id}") public Response delete(@PathParam("id") long id) { carroService.delete(id); return Response.Ok("Carro deletado com sucesso"); } @POST public Response post(Carro c) { carroService.save(c); return Response.Ok("Carro salvo com sucesso"); } @PUT public Response put(Carro c) { carroService.save(c); return Response.Ok("Carro atualizado com sucesso"); } }