ASP.NET Core 更改 uri 的最小 API 重定向

问题描述 投票:0回答:1

在一些失败的尝试之后,我已经进行了几个小时的搜索,我希望有人可以提供一些清晰的信息。

在过去,

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
是我在实验过程中最常打败自己的。这是正确的方法,还是我找错了树?还可能吗?

c# asp.net-core response.redirect minimal-apis redirecttoroute
1个回答
0
投票

您可以使用

Results
/
TypedResults
Redirect
(第一个基本上是第二个的别名):

app.MapGet("/latest", () =>
{
    var year = ...;
    var month = ...;
    var day = ...;
    return Results.Redirect($"/image/{year}/{month}/{day}");
});
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.