-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Description
I'm using swagger gradle plugin to generate openapi spec from jax rs.
As part of it, I have extended the ResolveTask
@TaskAction
def generateDoc() {
def modelConverter = ["my.EntityConverter"] as LinkedHashSet
setModelConverterClasses(modelConverter)
setFilterClass("my.ApiOperationFilter")
println "Model converter classes ${getModelConverterClasses()}, ${getModelConverterClasses()?.size()}"
println "Filter class ${getFilterClass()}"
super.resolve()
}
Everything works except filter class doesn't get invoked.
When I use this in a gradle task, I can see that filter class is getting added to the Resolve Task
but anything I print in the filter class simply doesn't get invoked.
Any idea what might be wrong.
Here is filter class
public class ApiOperationFilter extends AbstractSpecFilter {
private static Logger LOGGER = LoggerFactory.getLogger(ApiOperationFilter.class);
@Override
public Optional<OpenAPI> filterOpenAPI(
OpenAPI openAPI,
Map<String, List<String>> params,
Map<String, String> cookies,
Map<String, List<String>> headers) {
LOGGER.info("Adding common schemas");
System.out.println(">>Adding common schemas");
// some processing
return super.filterOpenAPI(openAPI, params, cookies, headers);
}
@Override
public Optional<io.swagger.v3.oas.models.Operation> filterOperation(
Operation operation,
ApiDescription api,
Map<String, List<String>> params,
Map<String, String> cookies,
Map<String, List<String>> headers) {
LOGGER.info("Adding common responses");
System.out.println(">>Adding common responses");
// some processing
return Optional.of(operation);
}
}
Metadata
Metadata
Assignees
Labels
No labels