2017-05-30 140 views
1

我正在通过快速参考发送返回JSON作为响应的nodejs服务器,并显示给swagger ui客户端进行显示。其中一些响应可能是日志,可能包含错误堆栈,所以我想用多行显示堆栈。但我尝试了各种各样的字符即。 \n, \r\n, \\n, <br>(wild guess)但没有任何工作。JSON/Nodejs/swagger:在swagger中显示的快速响应字符串中没有翻译为多行的换行符

示例代码:

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

显示在招摇浏览器客户端为:

"MyError\nMyErrorStack:\nStackLine1\nStackline2" 

相反的:

"MyError 
MyErrorStack: 
StackLine1 
Stackline2" 

对此有一些解决方案或正在使用我的错字符?

+0

请删除重复的标签,因为我对此有一个解决方法。 – BabyGroot

+0

这个问题比原来的问题更容易搜索,所以我想添加一个答案。注释部分太小而无法添加答案。 – BabyGroot

+0

不幸的是,这是重复的,但答案是通过分隔字符分割字符串并作为数组发回。由于这是重复的,这是我可以写得最好的,尽管我已经以更精细的方式在原始问题中添加了答案 – BabyGroot

回答

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的那部分风格的一些讨论,但结果出现不一致。

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