Add section on Range requests to reference

Closes gh-35052
This commit is contained in:
rstoyanchev 2025-07-14 16:48:24 +01:00
parent 4bf048cfcf
commit 6f5a7eed76
3 changed files with 42 additions and 0 deletions

View File

@ -197,6 +197,7 @@
*** xref:web/webmvc-functional.adoc[]
*** xref:web/webmvc/mvc-uri-building.adoc[]
*** xref:web/webmvc/mvc-ann-async.adoc[]
*** xref:web/webmvc/mvc-range.adoc[]
*** xref:web/webmvc-cors.adoc[]
*** xref:web/webmvc-versioning.adoc[]
*** xref:web/webmvc/mvc-ann-rest-exceptions.adoc[]
@ -294,6 +295,7 @@
**** xref:web/webflux/controller/ann-advice.adoc[]
*** xref:web/webflux-functional.adoc[]
*** xref:web/webflux/uri-building.adoc[]
*** xref:web/webflux/range.adoc[]
*** xref:web/webflux-cors.adoc[]
*** xref:web/webflux-versioning.adoc[]
*** xref:web/webflux/ann-rest-exceptions.adoc[]

View File

@ -0,0 +1,20 @@
[[webflux-range]]
= Range Requests
:page-section-summary-toc: 1
[.small]#xref:web/webmvc/mvc-range.adoc[See equivalent in the Servlet stack]#
Spring WebFlux supports https://datatracker.ietf.org/doc/html/rfc9110#section-14[RFC 9110]
range requests. For an overview, see the
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests[Ranger Requests]
Mozilla guide.
The `Range` header is parsed and handled transparently in WebFlux when an annotated
controller returns a `Resource` or `ResponseEntity<Resource>`, or a functional endpoint
xref:web/webflux-functional.adoc#webflux-fn-resources[serves a `Resource`]. `Range` header
support is also transparently handled when serving
xref:web/webflux/config.adoc#webflux-config-static-resources[static resources].
The underlying support is in the `HttpRange` class, which exposes methods to parse
`Range` headers and split a `Resource` into a `List<ResourceRegion>` that in turn can be
then written to the response via `ResourceRegionEncoder` and `ResourceHttpMessageWriter`.

View File

@ -0,0 +1,20 @@
[[mvc-range]]
= Range Requests
:page-section-summary-toc: 1
[.small]#xref:web/webflux/range.adoc[See equivalent in the Reactive stack]#
Spring MVC supports https://datatracker.ietf.org/doc/html/rfc9110#section-14[RFC 9110]
range requests. For an overview, see the
https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests[Ranger Requests]
Mozilla guide.
The `Range` header is parsed and handled transparently in Spring MVC when an annotated
controller returns a `Resource` or `ResponseEntity<Resource>`, or a functional endpoint
xref:web/webmvc-functional.adoc#webmvc-fn-resources[serves a `Resource`]. `Range` header
support is also transparently handled when serving
xref:web/webmvc/mvc-config/static-resources.adoc[static resources].
The underlying support is in the `HttpRange` class, which exposes methods to parse
`Range` headers and split a `Resource` into a `List<ResourceRegion>` that in turn can be
then written to the response via `ResourceRegionHttpMessageConverter`.