在一些失败的尝试之后,我已经进行了几个小时的搜索,我希望有人可以提供一些清晰的信息。
在过去,
response.Redirect
可以在 Web 应用程序中使用,以使浏览器加载新的 URL。
对于 Minimal API 和其他 .NET Core Web 应用程序代码来说,似乎有类似的方法,但到目前为止我尝试过的方法都没有引起我希望的行为。
我有一个端点,允许使用采用 uri 参数的方法检索图像(类似于
/image/[year]/[month]/[day]
)。
我在
/latest
有另一种方法可以获取最新的图像。我想在调用 /latest
时构建一个 uri,看起来像 /image/[year]/[month]/[day]
匹配 /latest
中的任何最新文件(没有问题),并且发生完全重定向...即,如果我打开一个浏览器并尝试打开 /latest,它会执行常规的旧 302 类型重定向并在地址栏中看到新的 url。
这是一件事,还是没有?我不必这样做,但看起来这是可能的,并且会使我正在构建的应用程序中的一些事情变得更简单。
RedirectToRoute
是我在实验过程中最常打败自己的。这是正确的方法,还是我找错了树?还可能吗?
Results
/TypedResults
的Redirect
(第一个基本上是第二个的别名):
app.MapGet("/latest", () =>
{
var year = ...;
var month = ...;
var day = ...;
return Results.Redirect($"/image/{year}/{month}/{day}");
});