То же действие, но другие параметры по умолчанию - PullRequest
0 голосов
/ 01 августа 2020

У меня есть действие, которое я хотел бы иметь такую ​​же функциональность для отключения и включения TFA, поскольку все, что мне нужно сделать, это изменить флаг bool для метода настройки tfa следующим образом:

[HttpPost("enable-tfa")]
public async Task<IActionResult> Enable()
{
   var providers = await _identityManager.SetTwoFactorEnabled(true);

   if (!providers.Any())
       return Forbid();

   return Ok();
}

Я хочу иметь возможность использовать этот метод для обоих маршрутов:

[HttpPost("enable-tfa")]

и

[HttpPost("disbale-tfa")]

Но для каждого из них я хотел бы передать либо true, либо false по методу SetTwoFactorEnabled(). вместо двух отдельных действий, которые в основном делают одно и то же. Я также не хочу полагаться на то, что клиент отправляет true или false

Ответы [ 2 ]

0 голосов
/ 01 августа 2020

Есть много способов добиться sh этого. Вот один из них. У нас будет параметр запроса с именем enable

[HttpPost("enable-tfa")]
public async Task<IActionResult> EnableTFA([FromQuery] bool enable)
{
   var providers = await _identityManager.SetTwoFactorEnabled(enable);

   if (!providers.Any())
       return Forbid();

   return Ok();
}

Тогда вы можете назвать его как: http://example.com/api/enable-tfa?enable=true

0 голосов
/ 01 августа 2020

Вы должны добавить параметр bool к методу действий и записать ваш лог c на основе его значения, т.е. true или false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...