API の IHttpActionResult を返すために、Asp.Net で Swashbuckle.Core を使用しています。問題は、Swagger の応答が応答コード 0 を返し、応答本文にコンテンツがないことですが、郵便配達員を介して同じ呼び出しを行うと、リダイレクト先の画像が返され、応答コードが 200 になります (これは私が行った動作です)。欲しいです)。
swagger はこのようなリダイレクトを許可しますか? 不足している設定や、これを修正する方法に関するその他の提案はありますか?
私が返す IHttpActionResult:
public class ImageResponse : IHttpActionResult
{
private readonly string filePath;
public LegacyImageResult(string filePath)
{
this.filePath = filePath;
}
private HttpResponseMessage Execute()
{
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.Redirect);
try
{
if (filePath == null)
{
return new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Image not found.") };
}
response.Headers.Location = new Uri(filePath);
}
catch
{
response.Dispose();
throw;
}
return response;
}
}
編集:
これは既知の Swagger の問題のようです https://github.com/swagger-api/swagger-ui/issues/549