我正在使用 Enunciate 为我的 Resteasy 服务生成文档。我能够生成所需的文档,但我对一些自定义参数有疑问。
我们的服务接口包含一个自定义@QueryParam
注释,用于列出方法实现支持的所有查询参数。我现在不想解释为什么我们决定有一个 custom @QueryParam
,这只是一个架构决定。
尽管现在 Enunciate 无法识别自定义@QueryParam
,所以我所有的 Resteasy 方法都没有@QueryParam
参数(仅@PathParam
)。
示例服务接口:
@GET
@Path("{regionId}/{userId}/validate-access")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@QueryParams(uniqueName = "validatePin", params = {
@QueryParam(param = Param.PIN, isRequired = true),
@QueryParam(param = Param.PIN_TYPE, isRequired = false, valueSet = { "valueA", "valueB" }, defaultValue = "valueA") })
StatusResponseResult validatePin(@Context HttpServletRequest hsr, @PathParam("regionId") int regionId,
@PathParam("userId") int userId, @Context UriInfo info) throws RestApiException;
@QueryParam 类的实现:
@Retention(RetentionPolicy.RUNTIME)
public @interface QueryParam {
public Param param();
public boolean isRequired() default false;
public boolean canBeEmpty() default true;
public String defaultValue() default "";
public String minValue() default "";
public String maxValue() default "";
public String format() default "";
public String[] valueSet() default {};
}
@QueryParams 类的实现:
@Retention(RetentionPolicy.RUNTIME)
public @interface QueryParams {
String uniqueName();
QueryParam[] params();
}
有没有办法告诉 Enunciate@QueryParam
在生成 HTML 文档时也考虑我的自定义?