如何创建返回在Swagger UI中工作的PDF的Dotnet Core WebApi端点

时间:2017-02-07 11:50:12

标签: asp.net-web-api swagger-ui

我有一个WebApi方法返回包含PDF的FileStreamResult。

这在使用PostMan检索PDF时可以正常工作。但是当使用Swagger查看API时,下载文件链接会返回一个损坏的文件。几乎是大小的两倍,看起来Swagger提供的文件是UTF-8,而PostMan以ANSI字节格式返回。

但不确定如何验证。

在Web Api中,我使用ProducesResponseOfType告诉Swagger返回了哪些数据 - 有没有办法告诉它是" application / pdf"返回的字节流?

还是只有另一种方法让它发挥作用。

我的Api方法如下所示 - 为清晰起见,遗漏了一些细节。

    [HttpPost("JobReports", Name = "GetJobReports")]
    [ProducesResponseType(typeof( ?WHAT_DO_I_ENTER_HERE? ), 200)]
    public IActionResult GetJobReports([FromServices]IQueryJobs jobs,
                                       [FromServices]JobReportGenerator generator,
                                       [FromBody]List<string> jobsToReport)
    {
            FileStreamResult fileStreamResult = generator.GetJobReports(jobs, jobsToReport);

            if (fileStreamResult == null)
            {
                return NotFound();
            }
            else
            {
                return fileStreamResult;
            }
    }

我希望以前有人来过这里,我无法弄清楚如何告诉Swagger 200结果是包含application / pdf数据的字节流。

如果对我的解释有任何疑问,请告诉我。

祝你好运 /安德斯

0 个答案:

没有答案