基于注解编写文档
在上一节我们可以看到接口返回示例中,其实很多关键信息是空的,比如模块的说明、接口的说明、请求参数的说明以及返回实体的说明等等。我们需要为接口添加文档说明文字,这样文档的阅读者才可以更清晰地了解我们接口的含义。
那么怎么为接口添加文档说明呢?Leap 采用的是注解的方式,直接在方法、参数或者实体字段上标注文档含义。
而且为了便捷、统一和节省记忆和学习成本,Leap 提供了唯一一个文档注解 @Doc
用于文档说明。
例如我们可以在路由方法中使用它:
@Path("/pet")
public class PetModelController extends ModelController<Pet> {
@GET
@Doc(summary = "查询所有宠物", desc = "查询所有宠物接口的详细介绍")
public ApiResponse<List<Pet>> all(@Required @Doc("搜索名称") String name) {
return ApiResponse.ok(Pet.all());
}
}
还可以在实体 Pet 中使用它:
@Table
@Doc("宠物")
public class Pet extends Model {
@Id
@Doc("宠物编号")
private String id;
@Column
@Doc("宠物名字")
private String name;
@Column
@Doc("主人编号")
private String userId;
// 省略 getter 和 setter
}
加上文档说明注解之后,生成的接口文档将会带上这些描述。示例结果就不展示了,读者可以自己试试看。
目前 @Doc 可以应用的位置主要有以下几个:
- 在路由方法上:作为接口的文档描述,其中可以使用 @Doc 中的
summary
属性简要概述接口,这部分内容将在文档页面渲染时作为接口标题突出显示;详细描述可以使用 @Doc 的desc
属性。 - 在方法参数上:作为接口参数的文档描述,另外方法参数还可以使用
@Required
注解标注为必传参数,默认所有参数为非必传。 - 在实体类上:作为文档实体的描述,当将实体作为参数传递或内容返回时,Leap 会解析实体读取这些文档注解;
- 在实体字段上:作为文档实体属性的描述,同上。
上一篇:基于配置生成文档
下一篇:基于 Markdown 编写文档