【问题标题】:Add a newline to swagger output在大摇大摆的输出中添加换行符
【发布时间】:2018-01-31 07:41:08
【问题描述】:

我正在使用swagger-jersey2-jaxrs 版本1.5.15。我在swagger-ui 3.0.9。我使用 @SwaggerDefinition 注释和标签向标题添加了描述(因为现在不推荐使用 description 参数)。代码如下:

@Api(tags = { "Hello World" })
@SwaggerDefinition(tags = { @Tag(name = "Hello World", description = 
    "Description about world: " + "  \n" +
    "1. Hello " + "\n" +
    "2. World " + "<br>" 
 )})

通过使用它,我能够向“Hello World”标题添加描述。我的问题是我应该如何为每个点添加一个换行符。我尝试了以下方法但失败了:

  1. "\n""&lt;br&gt;" 添加到字符串。 \n" 不反映 换行,而 "&lt;br&gt;" 只是将字符串 "&lt;br&gt;" 添加到字符串中 即被渲染。

  2. 我尝试使用 System.lineSeparator()System.getProperty("line.separator") 也是如此,但这给出了 错误“注释属性 Tag.description 的值必须是 常量表达式”。

当使用notes 参数用于其他注释(不适用于@Api)时,使用上述第一种方法时,Swagger 会显示换行符,是否有任何解决方法可以使用它来获取换行符?

欢迎任何建议,在此先感谢! :)

【问题讨论】:

  • 这只是一个猜测,但您是否尝试过“\\n”?
  • @Daniel 是的,刚刚尝试过。在呈现的字符串中添加一个 '\n' :/
  • 下一次尝试:使用“\n\n”。两段之间需要一个空行。看看:github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#lines
  • 谢谢@Daniel,但还是不行。
  • 尝试缩小/缩小范围,例如:&amp;lt;br /&amp;gt;

标签: java jersey jax-rs swagger


【解决方案1】:

您可以使用以下内容:

@SwaggerDefinition(tags = { @Tag(name = "Hello World", description =
    "Description about world: <br /> " +
            "1. Hello <br /> " +                  //With <br />, not  <br>
            "2. World ")})   

它对我有用,它给出以下结果,带有换行符:

玩得开心!

【讨论】:

  • 感谢您的回答,对我不起作用,它只是打印 &lt;br /&gt; 和文本。您使用的是哪个swagger-ui 版本?我使用的是 3.0.9 版。
  • 嗨,我正在使用 swagger-ui:2.1.2 也许您可以更改您正在使用的 swagger 版本,至少用于测试?
  • 感谢您的回复。当然,我会升级我的招摇并检查(y)。
【解决方案2】:

使用双“&lt;br&gt;”或“\n”,swagger会在下一行显示文字。 例如:

@SwaggerDefinition(tags = { @Tag(name = "Hello World", description = "Description about world: \n\n" + "1. Hello \n\n" + "2. World <br><br>" )})

【讨论】:

  • 感谢您,我找不到任何其他网站或 Swagger 文档指向此。你是否更了解这种行为,比如为什么 Swagger 接受双精度 &lt;br&gt;\n,而不是单精度?
  • 添加 \n\n 有助于在 pdf 中生成新行。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 2014-07-19
  • 2015-12-14
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多