Нужна ли команда(mediator) без параметров в качестве аргумента в контроллере?

Есть api с использованием cqrs и mediator'а и возникает следующая дилема - нужно ли в контроллере оставлять "заглушку" команды, если в ней нет параметров? Не знаю, как объяснить, поэтому сразу к простому примеру.

1) Есть простая команда для авторизации на сайте

public partial class Login
{
    public class Command : IRequest<TokenResponse>
    {
        public string Username { get; set; }

        public string Password { get; set; }
    }
}

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

[HttpPost(ApiRoutes.Identities.Commands.Login)]
public async Task<IActionResult> Login([FromBody] Login.Command command)
{
    var result = await Mediator.Send(command);
    return Ok(result);
}

2) Есть команда для обновления jwt-токенов

public partial class RefreshSession
{
    public class Command : IRequest<TokenResponse>
    {
    }
}

Она совершенно пустая, т.к по данному пути в контроллер отправляется настроенная кука с рефреш токеном. Единственный смысл этой команды - дать понять медиатору, что дальше делать.

[HttpPatch(ApiRoutes.Identities.Commands.RefreshSession)]
public async Task<IActionResult> RefreshSession([FromBody] RefreshSession.Command command)
{
    var result = await Mediator.Send(command);
    return Ok(result);
}

Вопрос: если в команде нет никаких параметров, то лучше верхний вариант или нижний? Если использовать нижний, то часть api будет без команд, а другая с ними и может возникнуть путаница на мой взгляд.

[HttpPatch(ApiRoutes.Identities.Commands.RefreshSession)]
public async Task<IActionResult> RefreshSession()
{
    var result = await Mediator.Send(new RefreshSession.Command());
    return Ok(result);
}

Ответы (0 шт):