我可能会因为问这个问题而被枪杀:
我想在我的API中将端点标记为“新建”或“更新”,因此当开发人员浏览我的swagger UI时,他们可以看到所有最近添加的内容。
这样的事情存在吗?
答案 0 :(得分:1)
核心Swagger-UI功能或ServiceStack的Swagger支持中不存在。
但是,你可以毫不费力地自己动手。诀窍是Summary
的{{1}}和Notes
属性支持原始HTML。
像这样装饰您的DTO:
RouteAttribute
然后你可以在你的swagger-ui index.html中添加一些CSS:
static class Docs {
public const string NewApi = @"<em class=""new-api"">New!</em> ";
}
[Route(...., Notes = Docs.NewApi + "Detailed description of DTO goes here")]
public class MyDto { ... }
// OR
[Route(...., Summary = Docs.NewApi + "Summary goes here")]
public class MyDto { ... }
现在,您可以将该字符串常量附加到相应Route属性上的.new-api {
background-color: #ffff00;
font-weight: bold;
font-style: normal;
}
或Notes
属性,它将在Swagger UI上显示为样式标记。当然,您需要在更改DTO时手动添加/删除这些标记,但实现起来非常简单。