在响应文本中显示换行符

时间:2017-05-24 15:24:10

标签: swagger swagger-ui

我使用Swagger UI v2.2.0。我有一个返回纯文本的RESTful方法。我想用换行符显示这个文本。

目前,返回的文本包含换行符,但它们显示为\nContent-Type响应标头为text/plain

enter image description here

我可以使用插入新换行符的其他内容(例如<br>标签)返回文本。我也可以更改Content-Type。我只需要在显示的文本中显示实际的换行符。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:4)

不确定是否有帮助,但我也面临同样的问题。

我想在nodejs服务器中执行以下代码:

app.post('/xyz', function (req, res) {
    res.status(400).send("MyError\nMyErrorStack:\nStackLine1\nStackline2")

}

并希望输出如下:

"MyError
MyErrorStack:
StackLine1
Stackline2"

但得到了:

&#34; MyError \ nMyErrorStack:\ nStackLine1 \ nStackline2&#34;

所以我把字符串拆分成数组,如下所示:

err.error = errObj.stack.split("\n")

app.post('/xyz', function (req, res) {
    res.status(400).send(err)

}

并打印

"Error": {    
    "error": [
      "Error: ENOENT: no such file or directory, open 'c:\\....'",
      "    at Error (native)",
      "    at Object.fs.openSync (fs.js:584:18)",
      "    at Object.fs.writeFileSync (fs.js:1224:33)",
      "    at Object.fs.appendFileSync (fs.js:1283:6)",
      "    at ...",
      "    at ...",
      "    at ...",
      "    at ...",
      "    at ...",
      "    at ..."
    ]
}

这对我有用。

答案 1 :(得分:3)

由于Swagger UI中存在文档错误,目前无法实现此目的。参考:

Inconsistent Markdown Newlines #2981

Bug in Model (Definition) Description with newline characters #3078

列出的第二个问题#3078包含一些关于覆盖用于呈现UI部分的样式的讨论,但结果似乎不一致。

注意:我已经订阅了这些问题,并且会在解决后更新答案和/或标记以关闭不再相关。