- 12 4月, 2017 1 次提交
-
-
由 Sebastien Deleuze 提交于
Issue: SPR-15318
-
- 11 4月, 2017 5 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-15367
-
由 Rossen Stoyanchev 提交于
-
由 Sebastien Deleuze 提交于
Issue: SPR-14925
-
由 Arjen Poutsma 提交于
This commit changes the `HandlerStrategies` builder to use `ServerCodecConfigurer` for configuring Decoder|Encoder and HttpMessage[Reader|Writer]. Note that the configurer is not exposed directly, but wrapped so that `HandlerStrategies` can keep on returning `this` for a proper builder pattern. This commit also removes the HandlerStrategies methods that take an application context, as it was too naive approach to simply look up every message reader and writer in the context. Issue: SPR-15415
-
由 Arjen Poutsma 提交于
- Renamed `defaultCodec` to `defaultCodecs`, and `customCodec` to `customCodecs` - Added `@Override` annotations where necessary - Fixed non-parameterized usage for parameterized types.
-
- 10 4月, 2017 3 次提交
-
-
由 Sebastien Deleuze 提交于
This commit makes CodecException handling consistent between functional and annotation-based APIs. It now returns by default 4xx status code for decoding error and 5xx for encoding error + print the error reason in logs without the full stack trace in both variants. Issue: SPR-15355
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
-
- 08 4月, 2017 4 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-15227
-
由 Rossen Stoyanchev 提交于
The java.util.Optional wrapper should not affect the support for "request param" arguments with or without the annotation as it works on the Spring MVC side.
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-15211
-
- 07 4月, 2017 5 次提交
-
-
由 Arjen Poutsma 提交于
This commit uses the newly introduced `PathPattern.getPathRemaining(String)` in the functional web framework. With this change, all path predicates can be used for nested router functions, so the `pathPrefix` predicate is no longer required and has been removed. Issue: SPR-15336
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 05 4月, 2017 1 次提交
-
-
由 Arjen Poutsma 提交于
This commit introduces support for the server-side methods on HttpMessageReader and HttpMessageWriter. It does so by introducing an Optional ServerHttpRequest in BodyInserter.Context, and an Optional ServerHttpResponse in BodyExtractor.Context. On the client-side, these optionals return Optional.empty(); on the server-side, they return the respective server-side messages. Issue: SPR-15370
-
- 03 4月, 2017 1 次提交
-
-
由 Sebastien Deleuze 提交于
-
- 02 4月, 2017 1 次提交
-
-
由 Amey Jadiye 提交于
Closes gh-1370
-
- 31 3月, 2017 2 次提交
-
-
由 Sebastien Deleuze 提交于
This change allows the functional WebFlux API to support natively reactive types and also makes it possible for View implementations to disable async attributes resolution if they want for example take advantage of stream rendering. It also makes AbstractView#getModelAttributes() asynchronous. Issue: SPR-15368
-
由 Rossen Stoyanchev 提交于
Replace the overloaded "retrieve" methods with a single retrieve() + ResponseSpec exposing shortcut methods (bodyToMono, bodyToFlux) mirroring the ClientResponse shortcuts it delegates to. Unlike exchange() however with retrieve() there is no access to other parts of ClientResponse so ResponseSpec exposes additional shortcuts for obtain ResponseEntity<T> or ResponseEntity<List<T>>. Issue: SPR-15294
-
- 30 3月, 2017 6 次提交
-
-
由 Arjen Poutsma 提交于
This commit makes a change to WebClient in oder to facilitate getting the response body as a `Mono<Object>` or `Flux<Object>` without having to deal with `ClientResponse`. Specifically, this commit: - Adds `RequestHeaderSpec.retrieve` methods, next to `exchange`, that return the response body (and not a `ClientResponse`). Two convenience methods return the response body as `Mono` or `Flux`. - Adds ClientResponse.toRequestEntity to convert the ClientResponse into a RequestEntity. Issue: SPR-15294
-
由 Sebastien Deleuze 提交于
-
由 Sebastien Deleuze 提交于
The main purpose is to specify nullability.
-
由 Rossen Stoyanchev 提交于
The ServerCodecConfigurer is now passed all the way into the RequestMappingHandlerAdapter which automatically enables the same defaults even without the Java config and provides extra flexibility in passing message codec configuration for the future.
-
由 Rossen Stoyanchev 提交于
Replace the List<HandlerMethodArgumentResolver> with a dedicated configurer that currently has one method accepting custom resolver registrations.
-
由 Arjen Poutsma 提交于
This commit makes changes to WebClient and WebTestClient in oder to limit setting the body according to HTTP method and also to facilitate providing the request body as Object. Specifically, this commit: - Moves methods that operate on the request body to a RequestBodySpec in both WebClient and WebTestClient, and rename them to `body`. These methods now just *set* the body, without performing an exchange (which now requires an explicit exchange call). - Parameterizes UriSpec in both WebClient and WebTestClient, so that it returns either a RequestHeadersSpec or a RequestBodySpec. Issue: SPR-15394
-
- 29 3月, 2017 1 次提交
-
-
由 Rossen Stoyanchev 提交于
ControllerMethodResolver now also encapsulates initialization, storage, and use of HandlerMethodArgumentResolver's by annotated method type.
-
- 28 3月, 2017 3 次提交
-
-
由 Rossen Stoyanchev 提交于
Extract controller method caches including associated code and discovery of @ControllerAdvice components into a separate, package private helper class (ControllerMethodResolver).
-
由 Rossen Stoyanchev 提交于
Issue: SPR-15247
-
由 Rossen Stoyanchev 提交于
Issue: SPR-15247
-
- 26 3月, 2017 1 次提交
-
-
由 Sebastien Deleuze 提交于
-
- 25 3月, 2017 2 次提交
-
-
由 Rossen Stoyanchev 提交于
This commit folds ServerHttpMessage[Reader|Writer] into its parent HttpMessage[Reader|Writer] with the server methods pre-implemented by default to be simple pass-through delegates.
-
由 Rossen Stoyanchev 提交于
Issue: SPR-15247
-
- 24 3月, 2017 4 次提交
-
-
由 Brian Clozel 提交于
This commit changes `ResourceTransformerSupport` to look for the `ResourceUrlProvider` in the current request if none is configured on the resource transformer itself. Issue: SPR-15369
-
由 Brian Clozel 提交于
Prior to this commit, the `VersionResourceResolver` implementations of `resolveUrlPathInternal` would delegate to the resolver chain but would never use the give result if the current request didn't match a configured version strategy pattern. This is a problem if the resolver supposed to resolve the resource path is configured after a `VersionResourceResolver` in the resolver chain; this means that other resolver never gets to participate in the result of the chain. Issue: SPR-15372
-
由 Juergen Hoeller 提交于
Includes a new overloaded ModelAndView constructor with an HttpStatus argument, as well as a HandlerMethodArgumentResolverSupport refactoring (revised checkParameterType signature, actually implementing the HandlerMethodArgumentResolver interface). Issue: SPR-15199
-
由 Rossen Stoyanchev 提交于
Follow-up to: https://github.com/spring-projects/spring-framework/commit/3d68c496f15c80a75711480a569cda1f7c64dc91 StringDecoder can be created in text-only vs "*/*" mode which in turn allows a more intuitive order of client side decoders, e.g. SSE does not have to be ahead of StringDecoder. The commit also explicitly disables String from the supported types in Jackson2Decoder leaving it to the StringDecoder in "*/*" mode which comes after. This does not change the current arrangement since the the StringDecoder ahead having "*/*" picks up JSON content just the same. From a broader perspective this change allows any decoder to deal with String if it wants to after examining the content type be it the SSE or another, custom decoder. For Jackson there is very little value in decoding to String which works only if the output contains a single JSON string but will fail to parse anything else (JSON object/array) while StringDecoder in "*/*" mode will not fail. Issue: SPR-15374
-