Boa Tarde a todos, gente já fazem uns 3 dias que estou tentando resolver isso e não consigo, estou tentando criar um app e um WebServer ambos comunicando-se com o uso do JSON, a parte do WebServer acredido que esta correta.
JsonApp.Class
@Path("app")
public class JsonApp {
public JsonApp() {}
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_JSON)
public JsonClasse Resul() {
JsonClasse cj = new JsonClasse();
cj.setId(12);
cj.setTitulo("Mano");
cj.setValor(20);
return cj;
}
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String Pega(JsonClasse aaux) {
System.out.println("Entrada no método");
System.out.println(aaux.getTitulo());
System.out.println(aaux.getValor());
System.out.println(aaux.getId());
return "{\"confi\":\"foi\"}";
}
}
JsonClasse.Class
@XmlRootElement
public class JsonClasse {
private int id;
private List<Byte> imagem = new ArrayList<Byte>();
private String titulo;
private double valor;
public JsonClasse() {}
//Getters e Setters
estou usando o jersey.containers, jersey.core, jersey-media-moxy 2.22.2, o JAXB 2.2.12 e o jsf 2.2.13, como eu disse acredito que está correto o lado do server, o meu problema é do lado do app, usando o HttpURLConnection para criar a conexão e o JSONObject, JSONArray para interpreta-la eu conseguir fazer um GET e exibir o resultado num TextView, o meu problema é na hora de fazer um POST a ideia é enviar esse json{"id":12,"imagem":[],"titulo":"Mano","valor":20.0}
e da um “print” no console do WebServer, só que nada acontece, eu não vejo o print no console do server e nem recebo nenhuma mensagem de erro no console do android studio, encontrei varios códigos ensinando a fazer um POST mas nenhum deles funcionou, no momento o que eu tenho é isso mas ele não funciona.
URL url = null;
try {
url = new URL("http://192.168.0.105:8080/WebServiceAppMaven/json/app/post");
} catch (MalformedURLException e) {
e.printStackTrace();
}
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStream os = conn.getOutputStream();
String jjson = "{\"id\":12,\"imagem\":[],\"titulo\":\"Mano\",\"valor\":20.0}";
os.write(jjson.getBytes("UTF-8"));
os.flush();
os.close();
conn.disconnect();
}catch (IOException e){
e.printStackTrace();
}
conn.disconnect();
poderia me ajudar, Obrigado.
(Atualização): foi mal dei uma arrumadinha no código, consertei uma pequena bagunça que eu fiz na hora de postar, mexer com isso quando vc esta cansado nunca é uma boa ideia, mas o meu problema continua o mesmo.