Resposta do servidor

3 respostas
javascriptjavarest
P

Estou com um problema aqui onde, ao carregar uma página, a mesma busca no banco todos os registros de produtos. O que ocorre é que, logo após carregar, meio que refaz a requisição para o banco, desta vez, levando o parametro como undefined. Alguém teria uma ideia do que ocorre?

3 Respostas

Dragoon

Porque não coloca o código na pergunta?
Que requisição ele faz?
Qual linguagem você está utilizando? (sua pergunta não tem tag) :rage:

P

Perdão pela falta de tag. Já arrumo.

Sobre o código

Esta é a parte que faz a requisição ao servidor:

var cfg = {
	url : CONTROLE_ESTOQUE.contexto+ "rest/entradasREST/"+ valorEstoque,					
	success : function(listaEstoques) {							
	        CONTROLE_ESTOQUE.entradas.exibirEstoque(listaEstoques);
			},
	error : function(rest) {
		CONTROLE_ESTOQUE.validacoes.modal("Não foi possível efetuar a busca.Tente novamente!!!!!");
			}};

CONTROLE_ESTOQUE.ajax.GET(cfg);
P

E esta é a parte no servidor:

@GET
@Path("/{produto}")
@Consumes("application/*")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response buscarEstoque(@PathParam("produto")String produto){
	
	System.out.println(produto);
	
	try {
		List<Entradas>produtos=new ArrayList<Entradas>();
		
		Conexao conec=new Conexao();
		Connection conexao=conec.abrirConexao();
		
		EntradasDAO jdbcEntradas=new JDBCEntradasDAO(conexao);
		produtos=jdbcEntradas.buscarEstoque(produto);
		
		conec.fecharConexao();
		return this.buildResponse(produtos);
		
	} catch (Exception e) {
		// TODO Auto-generated catch block
		return this.buildErrorResponse(e.getMessage());
	}
}

@Override
public List<Entradas> buscarEstoque(String produto) {
	String comando="SELECT * FROM estoque INNER JOIN entradas ON entradas.estoque_idEstoque=estoque.idEstoque";
	
	if(!produto.equals("null")&& !produto.equals("")){
		comando+=" WHERE estoque.produto like ?";
	}
	
	List<Entradas>listaDeProdutos=new ArrayList<Entradas>();
	Entradas entrada=null;
	Estoque estoque=null;
	try{
		java.sql.PreparedStatement stmt=conexao.prepareStatement(comando);
		
		if(!produto.equals("null")&& !produto.equals("")){
			stmt.setString(1, produto+ "%");
		}
		
		ResultSet rs=stmt.executeQuery();
		
		while(rs.next()){
			entrada=new Entradas();
			estoque=new Estoque();
			
			int idEstoque=rs.getInt("idEstoque");
			String nomeProduto=rs.getString("produto");
			String cor=rs.getString("cor");
			String modelo=rs.getString("modelo");
			String marca=rs.getString("marca");
			String quantidade=rs.getString("quantidade");
			String preco=rs.getString("preco");
			
			String fornecedor=rs.getString("fornecedor");
			String dataPrevista=rs.getString("data_prevista");
			
			estoque.setIdEstoque(idEstoque);
			estoque.setProduto(nomeProduto);
			estoque.setCor(cor);
			estoque.setModelo(modelo);
			estoque.setMarca(marca);
			estoque.setQuantidade(quantidade);
			estoque.setPreco(preco);
			
			entrada.setEstoque(estoque);
			
			entrada.setFornecedor(fornecedor);
			entrada.setDataPrevista(dataPrevista);
			
			listaDeProdutos.add(entrada);
		}
	}catch(SQLException e){
		e.printStackTrace();
	}
	
	return listaDeProdutos;
}

É como se no geral ele estivesse fazendo duas requisições ao mesmo tempo,mas que retornam em momentos diferentes.

Criado 1 de agosto de 2016
Ultima resposta 1 de ago. de 2016
Respostas 3
Participantes 2