Class AbstractSpringDocApiVersionStrategy

java.lang.Object
org.springdoc.core.versions.AbstractSpringDocApiVersionStrategy

public abstract class AbstractSpringDocApiVersionStrategy extends Object
Abstract base for delegating API version strategies that gracefully handle springdoc endpoint paths.

When path-based API versioning is configured (e.g., usePathSegment(1)), the version resolver extracts a path segment from every request URI as the API version. For springdoc endpoints like /v3/api-docs, this incorrectly extracts "api-docs" as the version, causing an InvalidApiVersionException.

Subclasses wrap the platform-specific ApiVersionStrategy (servlet or reactive) and use isSpringDocPath(String) to detect springdoc paths before falling back to the default version.

Author:
bnasslahsen
  • Constructor Details

    • AbstractSpringDocApiVersionStrategy

      protected AbstractSpringDocApiVersionStrategy(List<String> springDocPaths)
      Instantiates a new abstract SpringDoc API version strategy.
      Parameters:
      springDocPaths - the springdoc path prefixes to protect
  • Method Details

    • isSpringDocPath

      protected boolean isSpringDocPath(String path)
      Check if the given path targets a springdoc endpoint.
      Parameters:
      path - the request path (without context path)
      Returns:
      true if the path matches a springdoc endpoint prefix