Ao realizar um projeto paralelo para consumir XML o mesmo nao consigo testar com o CURL , porém com Junit funciona normalmente. No caso de usar xml preciso utilizar alguma definição ou parametrização especifica? no metodo GET funciona normalmente. Segue o codigo
@Path("{usuario}/dados/")
@POST
@Consumes({MediaType.APPLICATION_XML, MediaType.TEXT_XML})
public Response adicionaDado(DadoQualidade dado) {
new DadoQualidadeDAO().adiciona(dado);
URI uri = URI.create(PATH + dado.getUsuario() + "/dados/");
return Response.created(uri).build();
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class DadoQualidade {
private int usuario;
private String chave;
private int medidor;
private double valor;
private String data;
public DadoQualidade(){
}
public int getUsuario() {
return usuario;
}
public void setUsuario(int usuario) {
this.usuario = usuario;
}
public String getChave() {
return chave;
}
public void setChave(String chave) {
this.chave = chave;
}
public int getMedidor() {
return medidor;
}
public void setMedidor(int medidor) {
this.medidor = medidor;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
curl -X POST "http://localhost:8080/site-qualidade/rest/usuario/12345/dados" -H "accept: application/xml" -H "Content-Type: application/xml" -d "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Dado>\t<usuario>12345</usuario>\t<chave>10edZAElrsDR08e</chave>\t<medidor>1</medidor>\t<valor>20</valor>\t<data>201902152200</data></Dado>"