我有一个Azure函数API的Blazor应用程序。在我发送了POST之后,我想将用户重定向到创建资源的页面。
我不确定我应该从API返回哪个HTTP状态码,以及如何在Blazor中处理该状态码:
[FunctionName("FunctionCreate")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "books")]
HttpRequest req, ILogger log)
{
var id = 1;
return new CreatedAtRouteResult(?); // this one?
return new RedirectToRouteResult(?); // this one?
return new OkObjectResult(new { id }); // this one?
}
这应该如何在Blazor中完成?我应该使用NavigationManager.NavigateTo
并从主体读取值吗?或者重定向可以自动完成吗?
Blazor:
@code {
private async Task Create()
{
var bookId = await http.PostAsJsonAsync("api/books", new Book());
NavigationManager.NavigateTo($"/books/{bookId}");
}
}
如果你想以编程方式重定向,你应该注入并使用NavigationManager,你可以在。razor和。cs中使用它
另一种重定向方法是使用NavLink