我使用Swagger UI v2.2.0。我有一个返回纯文本的RESTful方法。我想用换行符显示这个文本。
目前,返回的文本包含换行符,但它们显示为\n
。 Content-Type
响应标头为text/plain
。
我可以使用插入新换行符的其他内容(例如<br>
标签)返回文本。我也可以更改Content-Type
。我只需要在显示的文本中显示实际的换行符。
有没有办法实现这个目标?
答案 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部分的样式的讨论,但结果似乎不一致。
注意:我已经订阅了这些问题,并且会在解决后更新答案和/或标记以关闭不再相关。