2

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

4

0 に答える 0