Tem duas apis
Ao tentar passar informações para outra ela passa.
Mas ao tentar persistir dá erro, porque a api A, não salvou as informações no banco de dados que está indo para a api b
package br.com.ghnetsoft.gestorsistemas.fatura.client;
import java.util.Collection;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.HttpClientErrorException;
import br.com.ghnetsoft.gestorsistemas.fatura.dto.contareceber.FaturaContaReceberDTO;
import br.com.ghnetsoft.principal.exception.GeralException;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
public class ContaReceberClient extends BaseClient {
private static final long serialVersionUID = -771119878551453674L;
@Value("${url-conta-receber}")
private String url;
@Transactional
public void fatura(final Collection<FaturaContaReceberDTO> faturas) {
try {
final String urlFinal = url + "fatura/";
log.info("buscarPorId - urlFinal: " + urlFinal);
getRestTemplate().postForEntity(urlFinal, new HttpEntity<>(faturas, getHeaders(true)), Object.class).getBody();
} catch (final HttpClientErrorException e) {
throw new GeralException(error(e));
}
}
}
Por mais que depurando no JAVA ele mostra o ID e no console do eclipse, ele mostra os inserts
Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "tab_conta_receber" violates foreign key constraint "tab_conta_receber_fk_fatura_parcelada_fkey"
Detalhe: Key (fk_fatura_parcelada)=(7e9af141-20a2-42cf-b1be-a4a733bcc8cf) is not present in table "tab_fatura_parcelada".
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:473)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:393)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164)
at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:130)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197)
... 140 common frames omitted