asp.net api перенаправить внешний URL - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь найти способ перенаправить на внешний URL из нашего API.
это текущий код в моем контроллере:

[HttpGet, Route( "transcribe/{itemNum}/{salUnit}" )]
public IHttpActionResult RedirectToProductPage( string itemNum, string salUnit ) {
  Configuration.Services.GetTraceWriter().Debug( Request, _controllername, $"RedirectToProductPage({itemNum}, '{salUnit}');" );
  GroupClaes.MSSQL.Wiggum.Databases.Distribution dis = new GroupClaes.MSSQL.Wiggum.Databases.Distribution();
  // get productId
  try {
    int productId = dis.Products.Where( x => x.ItemNum == itemNum && x.Active ).Join( dis.PackingUnits, x => salUnit, x => x.Unit, ( inner, outer ) => new {
      inner.Id
    } ).FirstOrDefault().Id;
    Uri url = new Uri($"https://test-eshop.claes-distribution.be/products?page=0&query=&productId={productId}");
    return Redirect( url );
  } catch ( Exception ex ) {
    iTrace.Error( _controllername, ex );
    return InternalServerError();
  }
}

рабочий URL этого метода: https://api.groupclaes.be/distribution/webshop/data/products/transcribe/1141011100/Z1
Я ожидаю, что он перенаправит меня на https://test -eshop.claes-distribution.be / products? Page = 0 & query = & productId = 6
Вместо этого он не перенаправляет меня на https://api.groupclaes.be/products?page=0&query=&productId=6
поэтому я предполагаю, что это связано с тем, что он перенаправляет на другой веб-сайт, но я не знаю, почему это происходит.

У меня в следовых журналах есть следующий вывод: [05-07-2018-09-38-25.748 - Info] System.Web.Http.Request: http://api.groupclaes.be/distribution/webshop/data/products/transcribe/1141011100/Z1; [05-07-2018-09-38-25.763 - Info] System.Web.Http.ModelBinding: HttpActionBinding;ExecuteBindingAsync;Model state is valid. Values: itemNum=1141011100, salUnit=Z1; [05-07-2018-09-38-25.763 - Debug] RAW_API.Controllers.Distribution.ProductsController: RedirectToProductPage(1141011100, 'Z1');; [05-07-2018-09-38-25.795 - Info] System.Web.Http.Request: http://api.groupclaes.be/products?page=0&query=&productId=6; [05-07-2018-09-38-25.795 - Info] System.Net.Http.Formatting: JsonMediaTypeFormatter;GetPerRequestFormatterInstance;Obtaining formatter of type 'JsonMediaTypeFormatter' for type='HttpError', mediaType='application/json; charset=utf-8';
не очень полезно, но вы также можете видеть, что перенаправленный запрос идет в API и выдает ошибку 404, так как страница там не существует.

...