JSON / Nodejs / swagger:在swagger中显示的快速响应字符串中,换行符未转换为多行

时间:2017-05-30 06:40:45

标签: javascript node.js swagger swagger-ui

我正在开发一个nodejs服务器,通过快速引用发回JSON作为响应,并显示给swagger ui客户端进行显示。其中一些响应可能是日志,可能包含错误堆栈,因此我想以多行显示堆栈。但我尝试了各种各样的角色。 \n, \r\n, \\n, <br>(wild guess)但没有任何效果。

示例代码:

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

在swagger浏览器客户端中显示为:

"MyError\nMyErrorStack:\nStackLine1\nStackline2"

而不是:

"MyError
MyErrorStack:
StackLine1
Stackline2"

是否有一些解决方案或我使用错误的字符?

1 个答案:

答案 0 :(得分:1)

Similar issue to what is described in this question。回答:

这是由于Swagger UI中存在文档错误。参考:

Inconsistent Markdown Newlines #2981

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

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

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