Java注释规范(配合EasyYapi使用)

类注释

示例

/**
 * 分类名称
 * 分类备注/描述
 * @module 归属项目
 * @author hjy
 * @date 2023/3/9 下午2:25
 */
@RestController
@RequestMapping("/barm")
public class DemoController {
  • 第一行默认是 接口 分类名称
  • 第一行到第一个以@开头的行之前的为 接口描述
  • 请注意规范, 类请明确 @author, @date
  • @module用于分类api , 详情见下文

方法注释

示例

/**
  * api名称
  * api描述
  * @param paramA 参数 A
  * @param paramB 参数 B
  * @return {@link ResultVO}
*/
@PostMapping("/pathOfApi1")
public ResultVO methodName1(String paramA, String paramB){
	log.info("paramA {} , paramB {} ", paramA, paramB);
	ResultVO resultVO = new ResultVO();
	resultVO.setCode(000);
	resultVO.setMessage("success");
	return resultVO;
}
  • 第一行默认 api名称
  • 第二行默认 api描述
  • 入参名后+ 后表示 参数的描述
  • @RequestMapping 请明确请求的类型 GET, POST …
/**
     * yapi接口2
     * 默认使用`application/x-www-form-urlencoded`,
     * 对于`@RequestBody`将使用`application/json`
     * 用注释`@deprecated`来表示api废弃
     *
     * @deprecated 改用 {@link DemoController#methodName3(MockDtoOrVo)}
     */
@Deprecated
@PostMapping(value = "/pathOfApi2")
public ResultVO methodName2(@RequestBody MockDtoOrVo jsonModel){
	ResultVO resultVO = new ResultVO();
	resultVO.setCode(000);
	resultVO.setMessage("success");
	return resultVO;
}
  • 默认使用application/x-www-form-urlencoded
  • 对于@RequestBody将使用application/json
  • 注释@deprecated来表示api废弃

参数注释

/**
 * 字段注释
 */
private Long field1;

注释@deprecated来表示api废弃

/**
 * 用注释`@deprecated`来表示字段被废弃
 * @deprecated It's a secret
 */
private int field5;

使用@NotBlank/@NotNull表示字段必须

/**
 * 如果使用javax.validation的话
 * 可以使用@NotBlank/@NotNull表示字段必须
 */
@NotBlank
@NotNull
private String field6;

字段可能有不同类型的值

/**
  * @maybe {@link UserInfo}
  * @maybe {@link java.lang.String}
  */
 public Object target;

@see 的使用

/**
 * 使用@see来说明当前字段的取值是某个Constant
 * @see DemoConstant#desc
 */
private int field3;

/**
 * 当目标枚举字段与当前字段名不一致,额外指定
 * @see DemoEnum#getCode()
 */
private int field4;

@link 指定类型关联具体类

  • 使用前使用 " " 与其他字句区分开
/**
  * @result {@link Result}
  */
 public Result mockString() {
     ...
 }

@module API 到 指定项目

module用于分类api

导出postman时 , 每个module将作为一个单独的文件夹
导出yapi时 , 每个module需要配置相应的token, 即对应一个yapi中的项目
默认情况下取当前模块名(单模块项目取项目名)

@ignore 忽略API

当在接口注释使用 @ignore时候 导出被忽略

 /**
     * @ignore
     * @param param
     * @return
     */
    @PostMapping(value = "/pathOfApi4")
    public ResultVO methodName4(@RequestParam String param){
        log.info("param {}", param);
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(000);
        resultVO.setMessage("success");
        return resultVO;
    }
posted @ 2023-03-09 19:49  wandoubaguo  阅读(447)  评论(0编辑  收藏  举报