使用Swagger / Swashbuckle未显示重定向响应

时间:2015-09-14 22:15:47

标签: c# asp.net swagger swagger-ui swashbuckle

我正在使用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

0 个答案:

没有答案