#191 Код-ревью контроллера пользователей и карт

Компании:
Совкомбанк
Темы:
SpringSpring BootКод ревью

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

Java
@Controller
@RequestMapping(path = "/users")
public class MainController {

    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private UserRepository userRepository;

    @Autowired
    private CardRepository cardRepository;

    @RequestMapping(path = "/getUser", method = RequestMethod.GET)
    public User getUser(String username) {

        User user = restTemplate.getForObject("/loadUser/{username}", User.class, username);

        Optional<User> dbUser = userRepository.findAll()
            .stream()
            .filter(u -> u.getUsername().equals(username))
            .findAny();

        if (dbUser.isEmpty()) {
            return userRepository.save(user);
        }

        return dbUser.get();
    }

    @RequestMapping(path = "/getCards", method = RequestMethod.GET)
    public List<Card> getCards(String username) {

        Optional<User> user = userRepository.findAll()
            .stream()
            .filter(u -> u.getUsername().equals(username))
            .findAny();

        if (user.isPresent()) {
            return user.get().getCards();
        }

        return null;
    }
}

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

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