ServiceStack Swagger - 将方法标记为“新建”或“更新”

时间:2014-03-06 09:56:53

标签: servicestack swagger swagger-ui

我可能会因为问这个问题而被枪杀:

我想在我的API中将端点标记为“新建”或“更新”,因此当开发人员浏览我的swagger UI时,他们可以看到所有最近添加的内容。

这样的事情存在吗?

1 个答案:

答案 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时手动添加/删除这些标记,但实现起来非常简单。