package br.com.alura.loja;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import org.junit.Test;
import junit.framework.Assert;
public class ClienteTest {
@Test
public void testaQueAConexaoComOServidorFuncionaNoPathDeProjetos() {
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080");
String conteudo = target.path("/projetos/carros").request().get(String.class);
}
}
package br.com.alura.loja;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("carros")
public class CarroResourse {
@GET
@Produces(MediaType.APPLICATION_XML)
public String busca() {
Carro carro = new CarroDAO().buscar(1l);
return carro.toXML();
}
}
package br.com.alura.loja;
import com.thoughtworks.xstream.XStream;
public class Carro {
private long id;
private String cor;
private String modelo;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getCor() {
return cor;
}
public String getModelo() {
return modelo;
}
public Carro(long id, String cor, String modelo) {
super();
this.id = id;
this.cor = cor;
this.modelo = modelo;
}
public String toXML() {
return new XStream().toXML(this);
}
}
package br.com.alura.loja;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
public class CarroDAO {
private static Map<Long, Carro> banco = new HashMap<Long, Carro>();
private static AtomicLong contador = new AtomicLong(1);
static {
banco.put(1l, new Carro(1l, "Azul", "Civic"));
banco.put(2l, new Carro(2l, "Black", "Fusion"));
}
public void adiciona(Carro carro) {
long id = contador.incrementAndGet();
carro.setId(id);
banco.put(id, carro);
}
public Carro buscar(Long id) {
return banco.get(id);
}
public Carro remove(long id) {
return banco.remove(id);
}
}