Web API 重定向到网页
Web API redirect to web page
我有一个 Web API,我需要将其转换为 API Core 2。我有一个似乎无法解决的问题。控制器中有一个使用 Request.CreateResponse
的重定向,它在 .Net Core 中似乎不可用?
public HttpResponseMessage Get() {
var response = Request.CreateResponse(HttpStatusCode.Redirect);
response.Headers.Location = new Uri("https://xxx.xxxx.com");
return response;
}
知道如何修改它才能工作吗?基本上如果用户不传递任何参数,我们只是将它们发送到网页。
ASP.Net-Core 中的语法发生了变化。 HttpResponseMessage
不再用于操作结果。它们将像任何其他模型返回的对象一样序列化。
改用 Controller.Redirect
方法,其中 returns 一个 RedirectResult
public IActionResult Get() {
return Redirect("https://xxx.xxxx.com");
}
RedirectResult
RedirectResult will redirect us to the provided URL, it doesn’t matter if the URL is relative or absolute, it just redirect, very simple. Other thing to note is that it can redirect us temporarily which we’ll get 302 status code or redirect us permanently which we’ll get 301 status code. If we call the Redirect method, it redirect us temporarily...
您可以使用 HttpResponseMessage
,例如:
var response = new HttpResponseMessage(HttpStatusCode.Redirect);
response.Headers.Location = new Uri("https://insight.xxx.com");
这就是 Redirect()
方法的作用:
return Redirect("https://xxx.xxx.com");
但是如果你想要更多的控制,你可以 return a ContentResult
:
response.Headers.Location = new Uri("https://xxx.xxx.com");
return new ContentResult {
StatusCode = (int)HttpStatusCode.Redirect,
Content = "Check this URL"
};
不过,我看不出这样做有什么好处。好吧,除非你使用一些不遵循重定向的客户端,并且你想在 Content
属性 中提供一些说明或内容,客户端会将其视为 [=21= 的主体] 页面。
我有一个 Web API,我需要将其转换为 API Core 2。我有一个似乎无法解决的问题。控制器中有一个使用 Request.CreateResponse
的重定向,它在 .Net Core 中似乎不可用?
public HttpResponseMessage Get() {
var response = Request.CreateResponse(HttpStatusCode.Redirect);
response.Headers.Location = new Uri("https://xxx.xxxx.com");
return response;
}
知道如何修改它才能工作吗?基本上如果用户不传递任何参数,我们只是将它们发送到网页。
ASP.Net-Core 中的语法发生了变化。 HttpResponseMessage
不再用于操作结果。它们将像任何其他模型返回的对象一样序列化。
改用 Controller.Redirect
方法,其中 returns 一个 RedirectResult
public IActionResult Get() {
return Redirect("https://xxx.xxxx.com");
}
RedirectResult
RedirectResult will redirect us to the provided URL, it doesn’t matter if the URL is relative or absolute, it just redirect, very simple. Other thing to note is that it can redirect us temporarily which we’ll get 302 status code or redirect us permanently which we’ll get 301 status code. If we call the Redirect method, it redirect us temporarily...
您可以使用 HttpResponseMessage
,例如:
var response = new HttpResponseMessage(HttpStatusCode.Redirect);
response.Headers.Location = new Uri("https://insight.xxx.com");
这就是 Redirect()
方法的作用:
return Redirect("https://xxx.xxx.com");
但是如果你想要更多的控制,你可以 return a ContentResult
:
response.Headers.Location = new Uri("https://xxx.xxx.com");
return new ContentResult {
StatusCode = (int)HttpStatusCode.Redirect,
Content = "Check this URL"
};
不过,我看不出这样做有什么好处。好吧,除非你使用一些不遵循重定向的客户端,并且你想在 Content
属性 中提供一些说明或内容,客户端会将其视为 [=21= 的主体] 页面。