我使用Swagger UI v2.2.0。我有一個返回純文本的RESTful方法。我想用換行符顯示這個文本。在響應文本中顯示換行符
此刻,返回的文本包含換行符,但它們顯示爲\n
。 Content-Type
響應標題是text/plain
。
我可以返回別的東西插入新行字符(例如,<br>
標籤)的文本。我也可以更改Content-Type
。我只需要顯示的文本中的實際換行符。
有沒有辦法做到這一點?
我使用Swagger UI v2.2.0。我有一個返回純文本的RESTful方法。我想用換行符顯示這個文本。在響應文本中顯示換行符
此刻,返回的文本包含換行符,但它們顯示爲\n
。 Content-Type
響應標題是text/plain
。
我可以返回別的東西插入新行字符(例如,<br>
標籤)的文本。我也可以更改Content-Type
。我只需要顯示的文本中的實際換行符。
有沒有辦法做到這一點?
由於Swagger UI中存在一個已記錄的錯誤,所以目前這是不可能的。參考:
Inconsistent Markdown Newlines #2981
Bug in Model (Definition) Description with newline characters #3078
列出的第二個問題,#3078包含覆蓋用於渲染UI的那部分風格的一些討論,但結果出現不一致。
注意:我已經訂閱了這些問題,並將更新答案和/或標誌以在解決問題時關閉爲不再相關。
不知道它是否有幫助,但我也面臨同樣的問題。
我想在的NodeJS服務器上執行以下代碼:
app.post('/xyz', function (req, res) {
res.status(400).send("MyError\nMyErrorStack:\nStackLine1\nStackline2")
}
,並希望輸出,如:
"MyError
MyErrorStack:
StackLine1
Stackline2"
,但得到:
「MyError \ nMyErrorStack:\ nStackLine1 \ nStackline2 「
因此,我將字符串拆分爲如下所示的數組:
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 ..."
]
}
這爲我工作。
您是否特指使用Swagger UI工具進行渲染,還是您可以靈活地使用其他工具呈現Swagger(OpenAPI Spec)? – busse
@busse我使用Swagger UI。我澄清了我的問題。 – Alexey