Insert explicit ids for headers
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
[id={chapter}.web-uricomponents]
|
||||
[[uricomponents]]
|
||||
= UriComponents
|
||||
[.small]#Spring MVC and Spring WebFlux#
|
||||
|
||||
@@ -102,6 +103,7 @@ You can shorten it further still with a full URI template, as the following exam
|
||||
|
||||
|
||||
[id={chapter}.web-uribuilder]
|
||||
[[uribuilder]]
|
||||
= UriBuilder
|
||||
[.small]#Spring MVC and Spring WebFlux#
|
||||
|
||||
@@ -194,6 +196,7 @@ that holds configuration and preferences, as the following example shows:
|
||||
|
||||
|
||||
[id={chapter}.web-uri-encoding]
|
||||
[[uri-encoding]]
|
||||
= URI Encoding
|
||||
[.small]#Spring MVC and Spring WebFlux#
|
||||
|
||||
|
||||
@@ -619,6 +619,7 @@ RouterFunction<ServerResponse> route = route()
|
||||
<4> `otherRoute` is a router function that is created elsewhere, and added to the route built.
|
||||
|
||||
|
||||
[[nested-routes]]
|
||||
=== Nested Routes
|
||||
|
||||
It is common for a group of router functions to have a shared predicate, for instance a
|
||||
|
||||
@@ -869,6 +869,7 @@ inline-style, through the built-in `BodyInserters`, as the following example sho
|
||||
.awaitBody<Unit>()
|
||||
----
|
||||
|
||||
[[partevent]]
|
||||
==== `PartEvent`
|
||||
|
||||
To stream multipart data sequentially, you can provide multipart content through `PartEvent`
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[webflux]]
|
||||
:chapter: webflux
|
||||
[[spring-webflux]]
|
||||
= Spring WebFlux
|
||||
|
||||
The original web framework included in the Spring Framework, Spring Web MVC, was
|
||||
@@ -248,6 +249,7 @@ current thread (and rely on callbacks instead) means that you do not need extra
|
||||
there are no blocking calls to absorb.
|
||||
|
||||
|
||||
[[invoking-a-blocking-api]]
|
||||
==== Invoking a Blocking API
|
||||
|
||||
What if you do need to use a blocking library? Both Reactor and RxJava provide the
|
||||
@@ -255,6 +257,7 @@ What if you do need to use a blocking library? Both Reactor and RxJava provide t
|
||||
easy escape hatch. Keep in mind, however, that blocking APIs are not a good fit for
|
||||
this concurrency model.
|
||||
|
||||
[[mutable-state]]
|
||||
==== Mutable State
|
||||
|
||||
In Reactor and RxJava, you declare logic through operators. At runtime, a reactive
|
||||
@@ -262,6 +265,7 @@ pipeline is formed where data is processed sequentially, in distinct stages. A k
|
||||
of this is that it frees applications from having to protect mutable state because
|
||||
application code within that pipeline is never invoked concurrently.
|
||||
|
||||
[[threading-model]]
|
||||
==== Threading Model
|
||||
|
||||
What threads should you expect to see on a server running with Spring WebFlux?
|
||||
@@ -287,6 +291,7 @@ specific thread pool `Scheduler` strategy.
|
||||
* Data access libraries and other third party dependencies can also create and use threads
|
||||
of their own.
|
||||
|
||||
[[configuring]]
|
||||
==== Configuring
|
||||
|
||||
The Spring Framework does not provide support for starting and stopping
|
||||
@@ -2841,6 +2846,7 @@ as the following example shows:
|
||||
<1> Using `@RequestBody`.
|
||||
--
|
||||
|
||||
[[partevent]]
|
||||
===== `PartEvent`
|
||||
|
||||
To access multipart data sequentially, in a streaming fashion, you can use `@RequestBody` with
|
||||
|
||||
@@ -599,6 +599,7 @@ The following example shows the composition of four routes:
|
||||
<4> `otherRoute` is a router function that is created elsewhere, and added to the route built.
|
||||
|
||||
|
||||
[[nested-routes]]
|
||||
=== Nested Routes
|
||||
|
||||
It is common for a group of router functions to have a shared predicate, for instance a shared
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[mvc]]
|
||||
:chapter: mvc
|
||||
[[spring-web-mvc]]
|
||||
= Spring Web MVC
|
||||
|
||||
Spring Web MVC is the original web framework built on the Servlet API and has been included
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
[id={chapter}.websocket-intro]
|
||||
[[introduction-to-websocket]]
|
||||
= Introduction to WebSocket
|
||||
|
||||
The WebSocket protocol, https://tools.ietf.org/html/rfc6455[RFC 6455], provides a standardized
|
||||
@@ -55,6 +56,7 @@ instructions of the cloud provider related to WebSocket support.
|
||||
|
||||
|
||||
[id={chapter}.websocket-intro-architecture]
|
||||
[[http-versus-websocket]]
|
||||
== HTTP Versus WebSocket
|
||||
|
||||
Even though WebSocket is designed to be HTTP-compatible and starts with an HTTP request,
|
||||
@@ -81,6 +83,7 @@ In the absence of that, they need to come up with their own conventions.
|
||||
|
||||
|
||||
[id={chapter}.websocket-intro-when-to-use]
|
||||
[[when-to-use-websockets]]
|
||||
== When to Use WebSockets
|
||||
|
||||
WebSockets can make a web page be dynamic and interactive. However, in many cases,
|
||||
|
||||
@@ -1226,6 +1226,7 @@ referenced through `@DestinationVariable` method arguments. Applications can als
|
||||
a dot-separated destination convention for mappings, as explained in
|
||||
<<websocket-stomp-destination-separator>>.
|
||||
|
||||
[[supported-method-arguments]]
|
||||
===== Supported Method Arguments
|
||||
|
||||
The following table describes the method arguments:
|
||||
@@ -1270,6 +1271,7 @@ Values are converted to the declared method argument type as necessary.
|
||||
|
||||
|===
|
||||
|
||||
[[return-values]]
|
||||
===== Return Values
|
||||
|
||||
By default, the return value from a `@MessageMapping` method is serialized to a payload
|
||||
|
||||
Reference in New Issue
Block a user