常规写法
在 JavaDoc 里编写代码块一般使用以下格式
/**
* <pre><code>
* ...
* 在 apifox 里会显示成单行代码
* ...
* </code></pre>
*/
或
/**
* <pre>{@code
* ...
* void main() {
* swagger 生成的 json 只会解析到第一个大括号,或在 apifox 里显示成单行代码
* }
* ...
* }</pre>
*/
但这两种方式生成的 json,都无法在 apifox 里正确显示。
折衷办法
apifox 支持 markdown 语法,可以用以下方式:
/**
* 用于获取文章列表
* <pre>
* ```
* [@ArticleList channel='news' limit='8'; beans]
* [#list beans as bean]
* <a href="${bean.url}">${bean.title}</a>
* [/#list]
* [/@ArticleList]
* ```
* </pre>
*/
缺点是,javadoc 会对里面的 html 代码进行解析,且在 apifox 会生成两个 <pre>
标签嵌套,显示时字体过小,且留白过大。但也是相对可以接受的结果。
可以进一步对 swagger 生成的 json 进行处理,删除 <pre></pre>
标签。如使用 notepad++ 正则表达式替换功能,替换所有 </*pre>
代码。此时生成的 apifox 文档就完全正常了。