Eu estou escrevendo um código para postar, mas estou enfrentando alguns problemas nas validações.
getDocumentIds é uma lista de números inteiros e o que eu preciso é para percorrer a lista e verifique se que id particular é válida ou não.
Eu tentei com o código abaixo, mas, quando eu passar a lista de valores que está a tomar apenas o primeiro valor. Ele não está tomando os valores após a primeira.
Document document=
Optional.ofNullable(repositoryService.findById(Document.class,
memberNoteResource.getDocumentIds().stream()
.iterator().next())).orElse(null);
if (document == null) {
throw new ApiException(ApiErrorCode.DEFAULT_400,
"Save unsuccessful document id is not part of member note");
}
O resultado esperado é, eu tenho que verificar todos os "getDocumentIds" passaram e se algum id não está presente, então eu tenho que lançar um erro
getDocumentIds
é uma lista de números inteiros e o que eu preciso é para percorrer a lista e verifique se que id particular é válida ou não.
Você pode usar anyMatch
para validar se, por qualquer um dos id
, não há nenhum documento atual (assumindo valor de retorno null
).
if(memberNoteResource.getDocumentIds()
.stream()
.anyMatch((id)-> repositoryService.findById(Document.class,id) == null)) {
throw new ApiException(ApiErrorCode.DEFAULT_400,
"Save unsuccessful document id is not part of member note");
}