Não sei se esse dúvida está no lugar certo, mas vamos lá:
Minha aplicação tem frontend angular e um backend uma api rest. O meu problema é que quando envio um objeto json o java não está reconhecendo o objeto por completo.
No método "adicionarNota()" da classe "AnaliseResource", o objeto é reconhecido mas o atributo "analise" que é um objeto da classe Analise está sempre chegando null no java, mesmo eu enviando.
Objeto json enviado:
{
"situacao": {
"id": 2,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": null,
"nome": "EM EXECUÇÃO"
},
"anexo": null,
"analise": {
"id": 6,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": 1481654922000,
"aplicacao": {
"id": 1,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": null,
"nome": "APP1",
"sigla": "APP1",
"descricao": "APP1"
},
"numero": "201612130000000002",
"assunto": "DASDASDASD",
"numeroRDP": null,
"numeroALM": null,
"analista": "123456",
"historico": [{
"id": 3,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": 1481654922000,
"situacao": {
"id": 1,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": null,
"nome": "ABERTO"
},
"assunto": "DASDASDASD",
"descricao": "ASDASDAS SADAS DASD ADASD",
"anexo": null
}],
"urls": [],
"dataCriacao": null,
"ultimoHistorico": {
"id": 3,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": 1481654922000,
"situacao": {
"id": 1,
"usuarioUltimaAlteracao": null,
"dataUltimaAlteracao": null,
"nome": "ABERTO"
},
"assunto": "DASDASDASD",
"descricao": "ASDASDAS SADAS DASD ADASD",
"anexo": null
}
},
"assunto": "sdfsdfs",
"descricao": "sadfasdf"
}
Minha classe que recebe a requisição:
AnaliseResource.java
@Path("analises")
@Api("Analise")
@RequestScoped
public class AnaliseResource {
@POST
@Path("/nota")
public AnaliseHistorico adicionarNota(AnaliseHistorico historico) throws Exception {
gerenciadorAnalise.adicionarNota(historico);
return historico;
}
}
AnaliseHistorico.java
package br.com.app.modelo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.codehaus.jackson.annotate.JsonIgnore;
import br.com.bb.apm.modelo.base.BaseEntity;
import io.swagger.annotations.ApiModel;
/**
* @author 123456
*
*/
@ApiModel
@Entity
@Table(name="analise_historico")
public class AnaliseHistorico extends BaseEntity{
/**
*
*/
private static final long serialVersionUID = 7519309480674729269L;
private Analise analise;
private Situacao situacao;
private String assunto;
private String descricao;
private String anexo;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_analise_historico")
public Long getId() {
return (Long) super.getId();
}
@ManyToOne
@JoinColumn(name = "id_analise", nullable = false)
@JsonIgnore
public Analise getAnalise() {
return analise;
}
public void setAnalise(Analise analise) {
this.analise = analise;
}
@ManyToOne
@JoinColumn(name = "id_situacao", nullable = false)
public Situacao getSituacao() {
return situacao;
}
public void setSituacao(Situacao situacao) {
this.situacao = situacao;
}
@Column(name = "ds_assunto")
public String getAssunto() {
return assunto;
}
public void setAssunto(String assunto) {
this.assunto = assunto;
}
@Column(name = "tx_descricao")
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Column(name = "ds_anexo")
public String getAnexo() {
return anexo;
}
public void setAnexo(String anexo) {
this.anexo = anexo;
}
}