Ao tentar acessar o recurso, recebo o seguinte no navegador: "This localhost page can’t be foundNo webpage was found for the web address: http://localhost:8080/carrinhos".
Ele passou pelo teste, e no console aparece rodando, assim:
"Jan 09, 2021 12:07:07 AM org.glassfish.jersey.server.ApplicationHandler initialize INFO: Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29... Jan 09, 2021 12:07:08 AM org.glassfish.grizzly.http.server.NetworkListener start INFO: Started listener bound to [localhost:8080] Jan 09, 2021 12:07:08 AM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. Servidor rodando"
Segue meu código:
CARRINHO:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.google.gson.Gson;
import com.thoughtworks.xstream.XStream;
public class Carrinho {
private List<Produto> produtos = new ArrayList<Produto>();
private String rua;
private String cidade;
private long id;
public Carrinho adiciona(Produto produto) {
produtos.add(produto);
return this;
}
public Carrinho para(String rua, String cidade) {
this.rua = rua;
this.cidade = cidade;
return this;
}
public Carrinho setId(long id) {
this.id = id;
return this;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public long getId() {
return id;
}
public void remove(long id) {
for (Iterator iterator = produtos.iterator(); iterator.hasNext();) {
Produto produto = (Produto) iterator.next();
if(produto.getId() == id) {
iterator.remove();
}
}
}
public void troca(Produto produto) {
remove(produto.getId());
adiciona(produto);
}
public void trocaQuantidade(Produto produto) {
for (Iterator iterator = produtos.iterator(); iterator.hasNext();) {
Produto p = (Produto) iterator.next();
if(p.getId() == produto.getId()) {
p.setQuantidade(produto.getQuantidade());
return;
}
}
}
public List<Produto> getProdutos() {
return produtos;
}
public String toXML() {
return new XStream().toXML(this);
}
}
CARRINHO RESOURCE:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import br.com.hugolopes.jaxrs.dao.CarrinhoDAO;
import br.com.hugolopes.jaxrs.modelo.Carrinho;
@Path("carrinhos")
public class CarrinhoResource {
@GET
@Produces(MediaType.APPLICATION_XML)
public String find() {
Carrinho carrinho = new CarrinhoDAO().busca(1l);
return carrinho.toXML();
}
}
SERVIDOR:
import java.io.IOException;
import java.net.URI;
import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;
public class Server {
public static void main(String[] args) throws IOException {
URI uri = URI.create("http://localhost:8080/");
ResourceConfig config = new ResourceConfig().packages("br.com.hugolopes.jaxrs.loja");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
System.out.println("Servidor rodando");
System.in.read();
server.stop();
}
}