В первом варианте не нравится громоздкость получающихся интерфейсов, во втором - сложность: завели юзера, из юзера как-то должен получиться UserCreateRequest который по сути DTO, потом его надо передать, получить Response, разобрать где-то и обработать и куда-то сложить, боюсь запутаться.