1
resposta

[Sugestão] Fiz uma versão do RANDOM na própria aplicação na classe de serviço

Fiz uma versão do RANDOM na própria aplicação na classe de serviço.

@Service
public class FraseService {

    @Autowired
    private FraseRepository repositorio;

    public FraseDTO obterFrase(Long id){
        Random random = new Random();
        List<Long> idsFrases = repositorio.obterIdsFrases();
        id = random.nextLong(idsFrases.size());
        if (repositorio.findById(id).isPresent()) {
            return repositorio.findById(id)
                    .map(f -> new FraseDTO(f.getTitulo(), f.getFrase(), f.getPersonagem(), f.getPoster()))
                    .get();
        } else {
          return null;
        }
    }
}
1 resposta

Olá, John, como vai?

Interessante a sua abordagem de criar a funcionalidade de RANDOM diretamente na classe de serviço! Isso pode tornar o código mais direto e encapsulado. No entanto, ao usar random.nextLong(idsFrases.size()), vale a pena considerar que o método nextLong() pode gerar números fora do intervalo esperado. Uma alternativa seria utilizar nextInt() para garantir que o valor esteja dentro do limite dos índices disponíveis na lista.

Parabéns! Continue com essa dedicação!

O fórum está à disposição para qualquer dúvida ou feedback.

Abraços!