参考: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代码注释就行了