Browse Source

Improve Javadoc for use of ApiVersionInserter

Closes gh-35565
pull/35588/head
rstoyanchev 2 months ago
parent
commit
03e379b070
  1. 3
      spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java
  2. 3
      spring-test/src/main/java/org/springframework/test/web/servlet/client/RestTestClient.java
  3. 3
      spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java
  4. 3
      spring-test/src/main/java/org/springframework/test/web/servlet/setup/ConfigurableMockMvcBuilder.java
  5. 15
      spring-web/src/main/java/org/springframework/web/client/ApiVersionInserter.java
  6. 3
      spring-web/src/main/java/org/springframework/web/client/RestClient.java
  7. 3
      spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java

3
spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java

@ -447,6 +447,9 @@ public interface WebTestClient {
* Configure an {@link ApiVersionInserter} to abstract how an API version * Configure an {@link ApiVersionInserter} to abstract how an API version
* specified via {@link RequestHeadersSpec#apiVersion(Object)} * specified via {@link RequestHeadersSpec#apiVersion(Object)}
* is inserted into the request. * is inserted into the request.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param apiVersionInserter the inserter to use * @param apiVersionInserter the inserter to use
* @since 7.0 * @since 7.0
*/ */

3
spring-test/src/main/java/org/springframework/test/web/servlet/client/RestTestClient.java

@ -263,6 +263,9 @@ public interface RestTestClient {
* Configure an {@link ApiVersionInserter} to abstract how an API version * Configure an {@link ApiVersionInserter} to abstract how an API version
* specified via {@link RequestHeadersSpec#apiVersion(Object)} * specified via {@link RequestHeadersSpec#apiVersion(Object)}
* is inserted into the request. * is inserted into the request.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param apiVersionInserter the inserter to use * @param apiVersionInserter the inserter to use
*/ */
<T extends B> T apiVersionInserter(ApiVersionInserter apiVersionInserter); <T extends B> T apiVersionInserter(ApiVersionInserter apiVersionInserter);

3
spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java

@ -496,6 +496,9 @@ public abstract class AbstractMockHttpServletRequestBuilder<B extends AbstractMo
* An inserter may typically be set once (more centrally) via * An inserter may typically be set once (more centrally) via
* {@link org.springframework.test.web.servlet.setup.ConfigurableMockMvcBuilder#defaultRequest(RequestBuilder)}, or * {@link org.springframework.test.web.servlet.setup.ConfigurableMockMvcBuilder#defaultRequest(RequestBuilder)}, or
* {@link org.springframework.test.web.servlet.setup.ConfigurableMockMvcBuilder#apiVersionInserter(ApiVersionInserter)}. * {@link org.springframework.test.web.servlet.setup.ConfigurableMockMvcBuilder#apiVersionInserter(ApiVersionInserter)}.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param versionInserter the inserter to use * @param versionInserter the inserter to use
* @since 7.0 * @since 7.0
*/ */

3
spring-test/src/main/java/org/springframework/test/web/servlet/setup/ConfigurableMockMvcBuilder.java

@ -80,6 +80,9 @@ public interface ConfigurableMockMvcBuilder<B extends ConfigurableMockMvcBuilder
/** /**
* Set the {@link ApiVersionInserter} to use to apply to versions specified via * Set the {@link ApiVersionInserter} to use to apply to versions specified via
* {@link org.springframework.test.web.servlet.request.AbstractMockHttpServletRequestBuilder#apiVersion(Object)}. * {@link org.springframework.test.web.servlet.request.AbstractMockHttpServletRequestBuilder#apiVersion(Object)}.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param versionInserter the inserter to use * @param versionInserter the inserter to use
* @since 7.0 * @since 7.0
*/ */

15
spring-web/src/main/java/org/springframework/web/client/ApiVersionInserter.java

@ -23,8 +23,19 @@ import org.jspecify.annotations.Nullable;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
/** /**
* Contract to determine how to insert an API version into the URI or headers * Contract to insert an API version into the URI or headers of a request.
* of a request. *
* <p>Use shortcut, static factory methods on this interface to create one of
* the built-in inserter type implementations:
* <ul>
* <li>{@link #useHeader(String)}
* <li>{@link #useQueryParam(String)}
* <li>{@link #useMediaTypeParam(String)}
* <li>{@link #usePathSegment(Integer)}
* </ul>
*
* <p>Use the {@link #builder()} for further options such as if you want to also
* configure an {@link ApiVersionFormatter}.
* *
* @author Rossen Stoyanchev * @author Rossen Stoyanchev
* @since 7.0 * @since 7.0

3
spring-web/src/main/java/org/springframework/web/client/RestClient.java

@ -347,6 +347,9 @@ public interface RestClient {
* Configure an {@link ApiVersionInserter} to abstract how an API version * Configure an {@link ApiVersionInserter} to abstract how an API version
* specified via {@link RequestHeadersSpec#apiVersion(Object)} * specified via {@link RequestHeadersSpec#apiVersion(Object)}
* is inserted into the request. * is inserted into the request.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param apiVersionInserter the inserter to use * @param apiVersionInserter the inserter to use
* @since 7.0 * @since 7.0
*/ */

3
spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java

@ -265,6 +265,9 @@ public interface WebClient {
* Configure an {@link ApiVersionInserter} to abstract how an API version * Configure an {@link ApiVersionInserter} to abstract how an API version
* specified via {@link RequestHeadersSpec#apiVersion(Object)} * specified via {@link RequestHeadersSpec#apiVersion(Object)}
* is inserted into the request. * is inserted into the request.
* <p>{@code ApiVersionInserter} exposes shortcut methods for several
* built-in inserter implementation types. See the class-level Javadoc
* of {@link ApiVersionInserter} for a list of choices.
* @param apiVersionInserter the inserter to use * @param apiVersionInserter the inserter to use
* @since 7.0 * @since 7.0
*/ */

Loading…
Cancel
Save