@Service
public class FooService {
public boolean doFoo(List fooList) {
//Code calling List without checking for null, possible NPE
Integer id = fooList.get(0).getId();
//more code
}
}
@Service
public BarController {
@Autowired
FooService foo;
public bar(Optional<Compound> optCompound) {
if (optCompound.isPresent()) {
List barList = optCompound.setList(new ArrayList<>());
//sending List Over to FooService
Boolean isFooDone = foo.doFoo(barList);
}
}
Должен ли я проверить список на нулевое значение в сервисном коде здесь?
Integer id = fooList.get(0).getId();
Только на основании предположения, что вызов службы сделан в контроллере, где список уже инициализирован с пустым списком ArrayList?
List barList = compound.setList(new ArrayList<>());
Или код службы должен быть написан независимо от контроллер?