我使用Asp.net核心,Swagger和Redoc作为API文档:
app.UseReDoc(c => { c.DocumentTitle = "API Documentation"; c.SpecUrl = "/swagger.json"; });
api-docs的默认路径是/api-docs/index. html我有两个问题:有没有可能制作一个自定义的index.html页面?我们可以在文档中添加另一个自定义页面吗?
ogsagwnx1#
你可以为它制作一个自定义的index.html页面,但是它似乎不支持太多的可伸缩性,似乎你不能添加其他页面。
app.UseReDoc(c => { c.DocumentTitle = "Swagger Demo Documentation"; c.SpecUrl = "/swagger/v1/swagger.json"; c.IndexStream = () => Assembly.GetExecutingAssembly() .GetManifestResourceStream("ProjectName.index.html"); // requires file to be added as an embedded resource });
将自定义Index.html作为嵌入文件添加到csproj文件中:
<ItemGroup> <EmbeddedResource Include="index.html"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </EmbeddedResource> </ItemGroup>
我的自定义index.cshtml(要开始,您应该将自定义index.html基于default version):
<!DOCTYPE html> <html> <head> <title>%(DocumentTitle)</title> <!-- needed for adaptive design --> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet"> <!-- ReDoc doesn't change outer page styles --> <style> body { margin: 0; padding: 0; } </style> %(HeadContent) </head> <body> <h1>Customer Index Page</h1> <div id="redoc-container"></div> <script src="redoc.standalone.js"></script> <script type="text/javascript"> Redoc.init('%(SpecUrl)', JSON.parse('%(ConfigObject)'), document.getElementById('redoc-container')) </script> </body> </html>
测试结果:
有关详细信息,请参阅此链接。
1条答案
按热度按时间ogsagwnx1#
你可以为它制作一个自定义的index.html页面,但是它似乎不支持太多的可伸缩性,似乎你不能添加其他页面。
将自定义Index.html作为嵌入文件添加到csproj文件中:
我的自定义index.cshtml(要开始,您应该将自定义index.html基于default version):
测试结果:
有关详细信息,请参阅此链接。