I want to have one private endpoint, which should be hidden on Swagger API UI.
referring to some other posts I created Filter class as below.
public class Myfilter implements SwaggerSpecFilter
public class MySwaggerSpecFilter implements SwaggerSpecFilter {
@Override
public boolean isOperationAllowed(Operation operation, ApiDescription api, Map<String, List<String>> params,
Map<String, String> cookies, Map<String, List<String>> headers){}
@Override
public boolean isParamAllowed..
@Override
public boolean isPropertyAllowed...
}
public MyApplication extends Application {
@Override
public Set<Class<?>> getClasses()
{
final Set<Class<?>> classes = new HashSet<>();
// Set Swagger Filter
FilterFactory.setFilter(new MySwaggerSpecFilter());
}
}
Web.xml
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>ServletClass</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>PATHTO/MyApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
I see that isOperationAllowed is not getting called while loading Swagger UI. When would the method isOperationAllowed get called?