но вот я и думаю, что могут возникнуть ситуации, когда я сервис буду не из контроллера дергать, а из дургого сервиса (например не по id, а по номеру искать юзера) и в зависимости от того, есть или нет юзер, делать какие-то операции.
А с другой строны, может быть ситуация когда тебе в рамках одного контроллера, нужно будет вернуть разные http статусы, в зависимости от того, что произошло
ну я тут не знаю, как правильно (у меня мало опыта в принципе). У меня вот findUser, который дергается из контроллера, если его не находит, то его создает и возвращает. А для других сервисов есть отдельный findUser. Тут я наверное нарушаю DRY, но findUser "внешний" еще проверяет, есть ли у того юзера, который ищет юзера, право искать этого юзера, и если нет, то из сервиса может упасть 403