У меня есть метод ResetPassword, который создает токен с помощью GeneratePasswordResetTokenAsync. Я тестирую свой API с помощью Postman и хочу, чтобы он возвращал токен в режиме разработки. Но в производственной среде я просто хочу отправить 200 OK и не возвращать токен.

Как я могу внедрить зависимость от среды в таком случае?

0
Mansi 30 Апр 2020 в 11:12

1 ответ

Внедрить IWebHostEnvironment в конструктор Controller/PageModel и оцените режим среды. Вы можете обратиться к приведенному ниже примеру

 public class StudentsController : ControllerBase
{
    private readonly IWebHostEnvironment _env;
    public StudentsController(IWebHostEnvironment env)
    {
        _env = env;
    }

    public async Task<IActionResult> Get()
    {
        if(_env.EnvironmentName.Equals("Development"))
        {
            // creates a token using GeneratePasswordResetTokenAsync
        }

        else if(_env.EnvironmentName.Equals("Production "))
        {
            //send 200 OK
        }
    }
}
0
Xueli Chen 1 Май 2020 в 08:45