Итак, у меня есть WebAPI, который обрабатывает некоторые маршруты, и мне нужно передать остальное в нисходящий REST API, как это
frontend ---> MyWebAPI -> AnotherAPI
anyзапрос, который возвращает 404 (или нет, я доволен всем, что не соответствует существующему маршруту)
мне удалось создать прокси с использованием промежуточного программного обеспечения MapWhen и aspnetcore.Proxy.но это выполняется до любого сопоставления маршрута, поэтому я не могу знать, будет ли запрос соответствовать или нет.
app.MapWhen((context) =>
context.Response.StatusCode == 404,
builder =>
builder.RunProxy(new ProxyOptions
{
Scheme = "http",
Host = Configuration.GetValue<string>("APIAddress"),
Port = Configuration.GetValue<string>("APIPort")
}));
есть ли способ выполнить это после сопоставления маршрута?Другим способом было бы перехватить весь маршрут, подобный этому:
[Route("{*url}", Order = 999)]
public IActionResult CatchAll()
{
//do the proxying here
}
, но тогда мне пришлось бы управлять всеми нюансами правильного проксирования запроса вручную.