私はdotnetコアWeb APIを文書化するためにSwagger for dotnet coreを使用しています。dotnetコアを使用したSwaggerドキュメントのファイルのタイプを返します。
私はコントローラのメソッドの上に [ProducesResponseType(typeof(XXXXX),200)]
を追加する必要があることを伝えるドキュメントを読んで、メソッドの応答タイプを掃除するのを手助けしました。
私はファイルを返すコントローラメソッドを持っています。私はファイルを返すように私にどのように伝えることができるかを考えています。
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);
}
}
誰にでもアイデアはありますか?
私はbyte []について考えましたが、戻り値の型は "byte"と書かれています。
あなたはすべてのコンテンツタイプを指定できると思いますか? – chris31389
私はこれを試してみましたが、swashbuckleのaspnetcoreバージョンでは動作していません。 – chris31389
ファイルを返すのはレスポンスです.JsonやXMLのドキュメントスキーマを示す 'ProducesResponseType'ではなく、コンテンツタイプです。 Swaggerがアクションメソッドの 'ProducesAttribute'を受け取っていない場合は、単に' ProducesResponseType'の 'Type'を未設定にして、'を使用します。要求されたファイル 'comment –
Moho