у тебя сейчас контроллер занимается оркестрацией бизнес-логики (чем должен заниматься сервис (в рамках твоей архитектуры)).
т.е. контроллер должен вызывать userService.create(email, password), смотреть не возвращает ли тот ошибку, и на основании этого уже возвращать пользователю результат.
слово "должен" читай как "может". твой вариант сейчас вполне норм, переносить оркестрацию в сервис не обязательно.