Java >> Java-zelfstudie >  >> Java

Filteren op API-onderdelen in branie

Enkele van de opties die ik kan bedenken

  1. U kunt verificatie toevoegen aan verschillende eindpunten met behulp van SpringSecurity en de eindpunten helemaal niet toegankelijk maken (maar zullen zichtbaar zijn in de gebruikersinterface van Swagger).

  2. De vervolgkeuzelijst die u bovenaan vermeldt, kan ongeveer als volgt worden geconfigureerd

    @Bean
    public Docket orderApi() {
        // This will group the endpoints strting with /order.   
        // And it will be visible as a separate group in the drop down(In Swagger UI) 
        // with the name 'order' as specified in the groupName(..)
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("order")
                .apiInfo(metadata())
                .select()
                .paths(PathSelectors.ant("/order/**"))
                .build();
    }
    
    @Bean
    public Docket orderValidationApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("product")
                .apiInfo(metadata())
                .select()
                .paths(PathSelectors.ant("/product/**"))
                .build();
    }
    
  3. U kunt het eindpunt volledig uitsluiten van zichtbaar zijn in de gebruikersinterface van Swagger met zoiets als dit in uw Docker-configuratie

       return new Docket( DocumentationType.SWAGGER_2 )
            .select()
                .apis( RequestHandlerSelectors.any() )
                .paths(PathSelectors.regex("(?!/error).+")).paths(PathSelectors.regex("(?!/product).+"))
                .build()
            .apiInfo( metadata() );  
    

    Hierdoor worden alle eindpunten die niet /error en /product zijn beschikbaar. je kunt eindpunten op deze manier uitfilteren.


Java-tag