#319 Рефакторинг контроллера обработки действий

Компании:
Сбербанк
Темы:
SpringSpring BootПрактика

Сделать рефакторинг:

@RestController
@Transactional
@RequiredArgsConstructor
public class ProcessActionController {
    private final PushHandler pushHandler;
    private final SmsHandler smsHandler;

    @PostMapping(value = "/doAction", consumes = {MediaType.ALL_VALUE})
    public ResponseEntity<Object> doIt(@ResponseBody @Valid ActionRequ request) {
        Action a = request.getaction();
        if (a == Action.SEND_PUSH)) {
            return pushHandler.process(request);
        }
        if (a == Action.SEND_SMS) {
            return smsHandler.process(request);
        }
        return ResponseEntity.ok().body(UserRs.getDefaultResponce("It's default response. "));
    }
}

@Data
class ActionRequ {
    @NotNull
    private Integer id;
    @NotNull
    private Action action;
    //...
}

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

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