The Application class is the starting point of your JAX-RS app. It triggers the 
scanning of your resources and exposes them as a rest service.

All you need to do is create your own Filter (extending AbstratSpecFilter) and 
adding it to your beanConfig as you can see in 
https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-2.X-Project-Setup-1.5#using-swaggers-beanconfig.

 

Look again at 
https://github.com/swagger-api/swagger-samples/blob/master/java/java-jersey2/src/main/java/io/swagger/sample/util/ApiAuthorizationFilterImpl.java.

The `if(params.containsKey("api_key"))` code checks if there’s a parameter 
called api_key. It’s just something we chose. You can choose to call it tags or 
whatever you want.

If you want to use a header instead, you can do that too.

 

 

 

From: <[email protected]> on behalf of Bryan Nelson 
<[email protected]>
Reply-To: "[email protected]" 
<[email protected]>
Date: Thursday, 23 February 2017 at 12:20
To: Swagger <[email protected]>
Subject: Re: Dynamic Filtering of APIs

 

I'm not trying to be obtuse, but how is that a web service?  Also, I need it to 
accept input params (which would be the tags I'd want to dynamically filter on) 
and I don't see anyway to make that happen in what I pasted above?

On Thursday, February 23, 2017 at 3:15:47 PM UTC-5, Ron wrote: 

So that’s your web service. You just need to add your filter to that.

 

 

 

From: <[email protected]> on behalf of Bryan Nelson 
<[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, 23 February 2017 at 12:06
To: Swagger <[email protected]>
Subject: Re: Dynamic Filtering of APIs

 

Ok, here's my setup.  I have the UI working like mentioned above.  I then have 
a java class that extends javax.ws.rs.core.Application where I do this: 

 

public class MyApplication extends Application { 

  public MyApplication() {

        BeanConfig beanConfig = new BeanConfig();

        beanConfig.setVersion("1.0");

        beanConfig.setTitle("My App");

        beanConfig.setDescription("My description.");

        beanConfig.setSchemes(new String[]{"http, https"});

        beanConfig.setBasePath("/myContext/"); 

        beanConfig.setResourcePackage("com.myPackage.rest.resource");

        beanConfig.setPrettyPrint(true);

        beanConfig.setScan(true);

    }

    @Override

    public Set<Class<?>> getClasses() { 

    

 

Set<Class<?>> resources = new HashSet<Class<?>>(); 

        resources.add(ApiListingResource.class); 
        resources.add(SwaggerSerializers.class);

        

        return resources;

    }


}

 

That's all I have really besides all my annotations obviously.

 

-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to