#292 Код-ревью сервиса поиска оборудования

Компании:
Digital League
Темы:
SpringОсновы SpringКод ревью

Сделать код-ревью:

Java
@Service
class EquipmentService {
    @Autowired
    private FurnitureRepository furnitureRepository;
    @Autowired
    private PcRepository pcRepository;

    private Set<Equipment> requestedData = new HashSet<>();

    public void validateRequest(UUID id) throws NotFoundException {
        var furniture = furnitureRepository.findById(id);
        if (furniture != null) {
            requestedData.add(furniture);
            return;
        }

        var pc = pcRepository.findById(id);
        if (pc == null)
            throw new NotFoundException(id);
        requestedData.add(pc);
    }

    public Set<Equipment> getRequestedData() {
        var result = new HashSet<Equipment>(requestedData);
        requestedData = new HashSet<>();
        return result;
    }
}

@RestController
class EquipmentController {
    @Setter(onMethod = @Autowired)
    private EquipmentService equipmentService;

    @GetMapping("/equipments/{ids}")
    public Set<Equipment> getEquipment(@PathVariable("ids") List<UUID> ids) {
        ids.forEach(equipmentService::validateRequest);
        return equipmentService.getRequestedData();
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти