[RESOLVIDO]Como consumir essa api RESTful?

2 respostas Resolvido
java
Junior_Leles

Olá a todos!

Criei a minha api com o seguinte código:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/service")
public class ServiceResource {
@GET
@Produces(MediaType.TEXT_PLAIN + ";charset=UTF-8")
@Path("login/{login}")
public String login(@PathParam("login") String login) {
	return login;
}
}

Consigo consumi-la passando o valor do parâmetro diretamente na barra de endereço do navegador:
http://localhost:8080/service-api-rest/service/login/admin123

Pois bem, eu preciso passar o valor do login a partir de um formulário html e não pela barra de endereço do navegador, então criei um formulário com o seguinte código:

<form action="http://localhost:8080/service-api-rest/service/login/" method="GET">
    <label>Login: <input type="text" name="login"></label>
    <button type="submit">Enviar</button>
</form>

O problema é que pelo formulário (url após a submissão do formulário: http://localhost:8080/service-api-rest/service/login/?login=admin123) estou recebendo um HTTP Status 404.

Entendo que pelo formulário estou passando para a url do serviço o parâmetro login com o valor admin123, e isso está causando o erro 404. Porém, não sei como resolver. Então gostaria de contar com a ajuda de vocês.

Desde já agradeço a quem puder ajudar.

2 Respostas

rodriguesabner

Olá, creio que isso é o que você precisa!

Junior_Leles
Solucao aceita

Olá Abner, bom dia!

Obrigado pela disposição para ajudar!

Bem, a partir da sugestão que me apresentou fiz uma implementação que solucionou o meu problema deixando o código um pouco mais simples:

<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8"/>
<title>Exemplo de serviço</title>
<script>
function logar(){
    var login = document.getElementById('login').value;
    window.location="http://localhost:8080/service-api-rest/service/login/" + login;
}
</script>
</head>
<body>
    <label>Login: <input id="login" type="text"/></label>
    <button id="btn" onclick="logar();">Logar</button>
</body>
</html>

Mais uma vez obrigado!

Abraço

Criado 26 de junho de 2019
Ultima resposta 28 de jun. de 2019
Respostas 2
Participantes 2