我正在使用Swashbuckle.Core和Asp.Net为我的API返回IHttpActionResult。问题是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