1
resposta

Ao tentar acessar, recebo "This localhost page can’t be foundNo webpage was found for the web address: http://localhost:8080/carrinhos".

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();

    }

}
1 resposta

Olá, Hugo! Espero que esteja tudo bem!

Desculpe a demora em dar um retorno!

Tente rodar sua Classe Server da seguinte forma:

package br.com.alura.loja;

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 Servidor {

    public static void main(String[] args) throws IOException {

        ResourceConfig config = new ResourceConfig().packages("br.com.hugolopes.jaxrs.loja");
        URI uri = URI.create("http://localhost:8080/");
        HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
        System.out.println("Servidor rodando");
        System.in.read();
        server.stop();

    }

}

Fico no aguardo do seu retorno!

Um abraço !