I implemented ReaderListenerin the same package as the resoure classes for Swagger. However, when Swagger files are created, this class is never used. I tried adding swagger.setBasePath("/empty");in afterScan()just to see if it was called at all to check if it changed the base path, but it is not. Any idea on what I need to do to make sure this class is selected during the Swagger scan? BTW, I am building a project with Maven and installing the generated RPMs, if that matters.
@io.swagger.annotations.SwaggerDefinition
public class SwaggerDefinition implements ReaderListener {
@Override
public void beforeScan(Reader reader, Scanner scanner) {
}
@Override
public void afterScan(Reader reader, Scanner scanner) {
final Model model = new ModelImpl()
.name("EntryContainer")
.type("Object")
.required("entry")
.property("entry", new ObjectProperty());
model.setReference("#/definitions/entry");
final Model model1 = new ModelImpl()
.name("Entry")
.type("Object")
.property("first_name", new StringProperty())
.property("last_name", new StringProperty())
.required("first_name")
.required("last_name");
Map<String, Model> defs = new HashMap<>();
definitions.put("EntryContainer", model);
definitions.put("Entry", model1);
swagger.setDefinitions(definitions);
}
}
source
share