用dotnet core返回文件类型以进行摇动文档



我正在使用Swagger进行Dotnet Core来记录我的Dotnet Core Web API。

我已经阅读了文档,告诉我我需要添加 控制器方法上方的[ProducesResponseType(typeof(XXXXX),200)]帮助招摇确定方法的响应类型。

我有一种返回文件的控制器方法,我正在尝试弄清楚我能告诉Swagger我要返回文件。

public class DocumentController : Controller
{
    private readonly IDocumentService _documentService;
    public DocumentController(IDocumentService documentService)
    {
        _documentService = documentService;
    }
    [HttpGet("{documentId}", Name= DocumentRoutes.Document)]
    [ProducesResponseType(typeof(XXXXX), 200)] // <== What goes here?
    public async Task<IActionResult> GetDocument(Guid documentId)
    {
        DocumentAdto documentAdto = await _documentService.GetAsync(documentId);
        return File(documentAdto.DocumentBytes, documentAdto.ContentType, documentAdto.Name);
    }
}

有人有任何想法吗?

我已经考虑了字节[],但这只是说返回类型是"字节"。

您需要的是ProducesAttribute,并将内容类型指定为参数(例如,PDF文件的"应用程序/PDF")。

编辑:看来Swagger可能不会在ProducesAttribute上捡起。然后,我的建议是将Type放置为ProducesResponseType,并在方法中添加/// <response code="200">Returns the requested file</response>注释。

相关内容

  • 没有找到相关文章

最新更新