asp.net核心中的URL问题

穆罕默德阿里

我正在实施确认电子邮件功能。我正在向帐户中的激活链接发送用户激活电子邮件。我正在尝试当用户单击电子邮件中的链接时,它将把用户重定向到我的方法ConfirmEmail之一,该方法采用两个参数user,即加密的电子邮件和code当我单击将调试器设置为该ConfirmEmail方法的链接时,它没有命中那里。

 var htmlContent = "<h4>Click on the link below to confirm your<b> Hello World</b> account:</h4>"
                                         + "</br>"
                                         + "<a href=https://localhost:44372/api/User/ConfirmEmail?user=" + EncryptedEmail + "&code=" + code + ">Activate Account</a>";

ConfirmEmail方法:

        [HttpGet]
        public IActionResult ConfirmEmail(string user, string code)
        {

            //Do work here
            return Ok();
        }  

电子邮件中的链接如下所示:
https:// localhost:44372 / api / User / ConfirmEmail?user = oBDULGKPcDaZoN89XcTtWnz%2f2m%2flFwfs&code = 7250
Startup.cs配置方法:

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });

    }
哈尔多

看起来这是一个API控制器,因此您需要将路由添加到端点。您可以通过将路由添加到Http动词属性来实现。有关属性路由的更多信息

[HttpGet("ConfirmEmail")]
public IActionResult ConfirmEmail(string user, string code)
{
}  

这会将GET请求路由到/api/user/confirmemail,而之前可能路由到/api/user

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章