Я использую Enunciate для создания документации для моих служб Restaasy. Я могу генерировать необходимую документацию, но у меня есть проблема с некоторыми пользовательскими параметрами.Указать пользовательскую аннотацию @QueryParam
Наш сервисный интерфейс состоит из пользовательской аннотации @QueryParam
, которая используется для отображения всех параметров запроса поддержки реализации метода. Теперь я не хочу объяснять, почему мы решили создать пользовательский @QueryParam
, это было просто архитектурное решение.
Несмотря на все, теперь Enunciate не признает пользовательский @QueryParam
, поэтому все мои методы Resteasy не имеют параметров @QueryParam
(только @PathParam
).
интерфейс Sample службы:
@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?
Ссылка повреждена, и теперь она указывает на https://github.com/stoicflame/enunciate/wiki/No-JAX –