springboot集成smart-doc

243 阅读1分钟

参考:https://blog.csdn.net/jack1liu/article/details/107552961

依赖


<dependency>
    <groupId>com.github.shalousun</groupId>
    <artifactId>smart-doc</artifactId>
    <version>1.8.1</version>
    <scope>test</scope>
</dependency>

创建 User 类

public class User {
    /**
     * 姓名
     */
    private String name;
 
    /**
     * 年龄
     */
    private String age;
 
    /**
     * 电话
     */
    private String mobile;
}

创建 UserController 类

/**
 * @author : xujp0818
 * @date : 14:34
 */
@RestController
@RequestMapping("/user")
public class UserController {

    /**
     * 添加用户
     * @param user
     * @return
     */
    @PostMapping("/addUser")
    public User getUser(@RequestBody User user) {
        return new User();
    }
    /**
     * 测试
     * @author xujp
     * @Description TODO
     * @param str 字符串
     * @return
     * @date 2021/6/25 14:50
     */
    @GetMapping("/getString")
    public String getString(String str){
        return str;
    }

    @PutMapping("/testPutRequest")
    /**
     * 测试put请求
     * @author xujp
     * @Description TODO
     * @param putString
     * @return java.lang.String
     * @date 2021/6/25 15:07
     */
    public String testPutRequest(String putString, HttpServletRequest request){
        System.out.println(request.getContentType());
        return putString;
    }

}

写一个测试类

 ApiConfig config = new ApiConfig();
 //这里写的是接口的服务器地址,等下接口文档上将这个地址和后端地址拼接起来
        config.setServerUrl("http://localhost:9999");
        //当把AllInOne设置为true时,Smart-doc将会把所有接口生成到一个Markdown、HHTML或者AsciiDoc中
        config.setAllInOne(true);

        //HTML5文档,建议直接放到src/main/resources/static/doc下,Smart-doc提供一个配置常量HTML_DOC_OUT_PATH
        config.setOutPath(DocGlobalConstants.HTML_DOC_OUT_PATH);

        // 设置接口包扫描路径过滤,如果不配置则Smart-doc默认扫描所有的接口类
        // 配置多个报名有英文逗号隔开
        config.setPackageFilters("com.example.controller.UserController");

        //设置错误错列表,遍历自己的错误码设置给Smart-doc即可
        List<ApiErrorCode> errorCodeList = new ArrayList<>();
        for (HttpCodeEnum codeEnum : HttpCodeEnum.values()) {
            ApiErrorCode errorCode = new ApiErrorCode();
            errorCode.setValue(codeEnum.getCode()).setDesc(codeEnum.getMessage());
            errorCodeList.add(errorCode);
        }

        //不需要显示错误码,则可以不用设置错误码。
        config.setErrorCodes(errorCodeList);
        //生成Markdown文件
        HtmlApiDocBuilder.buildApiDoc(config);

效果图

整体来说还是不错的,比较清晰,我们只需要写java代码注释就行了 在这里插入图片描述