项目中集成了swashbuckle,那么通过访问http://ip:port/swagger/ui/index,可以看到提供的接口列表。接口列表默认是没有提供接口说明信息的,但是swagger内部是集成了一个方法,可以通过读取xml文档添加接口说明。
 
下面是操作步骤:
1. 设置项目属性 > 生成,勾选XML文档文件。这样在制定文件目录下就可以生成代码的注释xml文件了。
 
2. 提供方法读取这个xml文档。
private static List<string> GetXmlCommentsPath()
{
List<string> docs = new List<string>();
var modules = AbpModule.FindDependedModuleTypesRecursivelyIncludingGivenModule(typeof(AbpZeroTemplateWebApiModule));
var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
 
foreach (var module in modules)
{
var commentsFileName = module.Assembly.GetName().Name + ".XML";
var commentsFile = Path.Combine(baseDirectory, "bin", commentsFileName);
docs.Add(commentsFile);
}
 
return docs;
//return String.Format(@"{0}\bin\SwaggerUi.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}
View Code
 
3. 添加一个SwaggerDocHelper.cs。
public class SwaggerDocHelper
{
public static void ConfigXmlCommentsPath(SwaggerDocsConfig config, List<string> docs)
{
foreach (var doc in docs)
{
if (FileUtils.IsFileExists(doc))
{
config.IncludeXmlComments(doc);
}
}
config.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
 
}
}
View Code
 
4. 配置swagger读取文档。
 
ok,到这里就配置成功了。检验下效果:
 
 posted on 2017-04-10 11:32  sessionliang  阅读(2151)  评论(1编辑  收藏  举报