如何执行重定向而不是响应Get方法

时间:2018-07-11 07:31:12

标签: c# .net-core

我有一个Get方法

[Route("login/{code}")]
public class LoginController : Controller {
  [HttpGet]
  public void Login(string code) {
    bool resp = TryToLogin(code);

    if (resp == true) {
      redirectToSiteOne;
    } else {
      redirectToSiteTwo;
    }
  }
}

我不知道如何重定向到另一个站点(必须从api.example.com重定向到example.com 也许很重要

2 个答案:

答案 0 :(得分:2)

我发现了2种方法:

方法1-将void的返回类型更改为HttpResponseMessage

var res = Request.CreateResponse(HttpStatusCode.Moved);
res.Headers.Location = new Uri("https://www.google.com");
return response;

方法2-将void的返回类型更改为RedirectResult

return RedirectPermanent("https://www.google.com");

答案 1 :(得分:1)

您可以使用:

Response.Redirect(url)

最后, api 只是一个网页,它可以重定向到另一个网页,而无需返回值。