Sam Brannen
526d9eae7f
Merge branch '6.0.x'
2023-06-15 16:20:19 +02:00
Sam Brannen
f22f439a68
Suppress deprecation warning due to upgrade to context-propagation 1.0.3
...
See gh-30657
2023-06-15 16:18:38 +02:00
Juergen Hoeller
220995b830
Move HandlerMethodValidator to web.method.annotation package
...
Avoiding cycle between web.method.support and web.method.annotation packages.
See gh-29825
2023-06-14 21:52:55 +02:00
rstoyanchev
61eaa9333b
Polishing in ErrorResponse
...
See gh-30566
2023-06-14 16:30:15 +01:00
rstoyanchev
9c7b5cb3f5
Add ProblemDetail "type" message code
...
See gh-30566
2023-06-14 16:30:15 +01:00
Arjen Poutsma
8a29bfba3f
Polishing external contribution
2023-06-14 13:44:50 +02:00
Vatsa
0c817f0441
Add non-null assertions in DefaultEntityResponseBuilder
...
This commit adds various non-null assertions to
DefaultEntityResponseBuilder, in Spring MVC.
Closes gh-30433
2023-06-14 13:44:50 +02:00
Sam Brannen
a268203832
Merge branch '6.0.x'
2023-06-13 16:27:20 +02:00
Sam Brannen
6cfb11a360
Upgrade to Micrometer BOM 1.10.8 and context-propagation 1.0.3
...
Cloes gh-30657
2023-06-13 16:21:26 +02:00
Sébastien Deleuze
6a26db80b6
Refine RouterFunctionMapping ordering consistency
...
This commit changes the order of RouterFunctionMapping defined
in WebMvcConfigurationSupport from 3 to -1 in order to achieve
better consistency between WebMVC and WebFlux. It also reduces
the surprise factor. That way, functional routes are always
before annotation-based ones.
Closes gh-30278
2023-06-13 08:17:54 +02:00
rstoyanchev
ccf68878c7
Merge branch '6.0.x'
2023-06-12 16:12:03 +01:00
rstoyanchev
bbab4faf7a
Method level only, empty RequestMapping matches "" and "/"
...
Closes gh-30293
2023-06-12 16:11:42 +01:00
Juergen Hoeller
6501176081
Merge branch '6.0.x'
2023-06-12 12:59:55 +02:00
Juergen Hoeller
cc8c852c2b
Specific check for parent of MethodInvocationInfo ClassLoader
...
See gh-30389
2023-06-12 12:57:10 +02:00
Rossen Stoyanchev
bd054a4918
Add method validation to Spring MVC
...
See gh-29825
2023-06-12 11:37:55 +01:00
Sam Brannen
0093d6e34d
Polish contribution
...
See gh-30587
2023-06-07 19:13:05 +02:00
luohongtu
324c6057fd
Remove duplicate code in RequestResponseBodyMethodProcessor
...
Closes gh-30587
2023-06-07 19:13:05 +02:00
Sébastien Deleuze
66a1be2d86
Enable KotlinScriptTemplateTests with Java 19
...
No support yet for Java 21.
Closes gh-29249
2023-06-06 15:49:04 +02:00
Sam Brannen
05eab703cc
Polishing
2023-06-06 11:29:25 +02:00
Juergen Hoeller
8c6287ef7b
Expose parameter/field name for non-JavaBeans type conversion
...
Supports name-bound PropertyEditor registrations on data classes.
Includes consistent support for field-aware method parameters.
Closes gh-28284
2023-06-02 20:42:05 +02:00
rstoyanchev
67f88482e6
Merge branch '6.0.x'
2023-05-30 17:36:08 +01:00
rstoyanchev
938dff7bbe
Remove (recently committed) erroneous character in test
2023-05-30 17:35:50 +01:00
rstoyanchev
b3f5d20ad8
Merge branch '6.0.x'
2023-05-30 17:18:01 +01:00
rstoyanchev
7629ea5672
Update docs to mention Boot's HttpMessageConverters
...
Closes gh-30538
2023-05-30 17:17:31 +01:00
rstoyanchev
454a85978f
Allow fallback on subclass of ProblemDetail
...
Closes gh-30533
2023-05-30 17:17:31 +01:00
Simon Baslé
3f14ebc4cf
Polish ReactiveTypeHandler when checking wildcard ndjson subtype
...
This commit polishes the previous change, ensuring that if the request
uses a wildcard subtype with an ndjson suffix then the wildcard isn't
present in the response's Content-Type.
Insteand, in that case we would fall back to `applicatin/x-ndjson` (the
base ndjson media type), assuming that the requester is only interested
in the ndjson nature of the underlying representation and not in the
specific semantics of any subtype.
See commit 9332b3f
See gh-26817
2023-05-26 15:23:09 +02:00
Simon Baslé
9332b3f690
Have ReactiveTypeHandler consider +x-ndjson suffix as streaming
...
This commit adds `application/*+x-ndjson`, a wildcard media type which
covers all types that can be parsed as nd-json, to the list of media
types the ReactiveTypeHandler considers for a streaming response in
WebMVC.
As a result, a request which for example `Accept` the
`application/vnd.myapp.v1+x-ndjson` media type will generate a response
with the same `Content-Type`, with newline-delimited json objects being
streamed in the response body.
Closes gh-26817
2023-05-25 16:00:34 +02:00
Brian Clozel
a91effcd86
Ignore some FreeMarker tests for JDK21
...
This reverts commit 07a5d8c91
and instead disables the relevant
FreeMarker tests for JDK21+ runs.
2023-05-11 18:00:23 +02:00
Brian Clozel
07a5d8c91c
Fix FreeMarker tests for JDK21 build
...
Prior to this commit, some FreeMarker tests would fail when involving
property lookup in a template file, where this bean property is linked
with a method implemented as a default method on an interface.
While I did not manage to reproduce this behavior in an independent test
case, this is most likely related to a change in JDK 21:
https://bugs.openjdk.org/browse/JDK-8071693
This commit changes the template expression to using the default method
directly.
2023-05-11 17:10:26 +02:00
Sam Brannen
5e52259fb3
Suppress warnings in tests
2023-05-10 14:27:43 +02:00
Juergen Hoeller
c1014f5989
Relax relative path existence assertion for parsed URIs
...
See gh-29481
See gh-28522
2023-05-01 00:01:49 +02:00
Juergen Hoeller
d39e44c209
Deprecate AutowireCapableBeanFactory.createBean(Class, int, boolean)
...
Includes consistent usage of createBean(Class) in SpringBeanJobFactory and SpringBeanContainer.
Closes gh-30345
See gh-29855
See gh-30041
2023-04-30 23:07:29 +02:00
Juergen Hoeller
9342317291
Avoid use of java.net.URL constructors (for JDK 20 compatibility)
...
Explicit path computation also leads to consistent relative path semantics for resource URLs.
Closes gh-29481
Closes gh-28522
2023-04-30 23:03:39 +02:00
Sam Brannen
ce3e9b0c29
Polishing
2023-04-26 11:21:34 +02:00
Sam Brannen
cef597bedd
Update copyright headers
2023-04-07 14:24:22 +02:00
Sam Brannen
01fabfe66d
Suppress warnings in tests
2023-04-07 14:23:55 +02:00
Sébastien Deleuze
b5b115e52c
Fix SSE with indenting serializer in WebMvc.fn
...
This commit ensures that HTTP headers like "text/event-stream"
are correctly forwarded to the converter used in
SseServerResponse for proper pretty print handling.
Close gh-30277
2023-04-07 11:25:47 +02:00
Krzysztof Krasoń
1734deca1e
Refactor AssertJ assertions into more idiomatic ones
...
This commit refactors some AssertJ assertions into more idiomatic and
readable ones. Using the dedicated assertion instead of a generic one
will produce more meaningful error messages.
For instance, consider collection size:
```
// expected: 5 but was: 2
assertThat(collection.size()).equals(5);
// Expected size: 5 but was: 2 in: [1, 2]
assertThat(collection).hasSize(5);
```
Closes gh-30104
2023-04-04 17:34:07 +02:00
Vatsa
6c8ebc7f7e
Add non-null assertions in DefaultServerResponseBuilder
...
This commit adds various non-null assertions to
DefaultServerResponseBuilder, in both Spring MVC and WebFlux.
Closes gh-30157
2023-04-04 12:36:46 +02:00
Juergen Hoeller
491ae1e3be
Use MethodInvocationInfo class loader in case of JDK platform loader as well
...
Closes gh-30210
2023-03-29 13:46:18 +02:00
Juergen Hoeller
ce2689eead
Use MethodInvocationInfo class loader in case of core JDK interface type
...
Closes gh-30210
2023-03-28 13:20:49 +02:00
Sam Brannen
0ca02ce677
Disable affected tests on Java 18+/19+
...
See gh-30185
2023-03-24 16:05:40 +01:00
rstoyanchev
202fa5cdb3
Polishing and minor refactoring in HandlerMappingIntrospector
...
Closes gh-30127
2023-03-20 08:36:40 +00:00
Sam Brannen
e17f5c50a8
Update copyright headers
2023-03-13 21:53:40 +01:00
Sam Brannen
00be19c647
Consistently declare Object::equals argument as @Nullable
2023-03-13 21:43:21 +01:00
Sam Brannen
9cf7b0e230
Polishing
2023-03-12 18:38:50 +01:00
Vatsa
d8fbd35467
Add non-null assertions in DefaultServerRequestBuilder
...
This commit adds various non-null assertions to
DefaultServerRequestBuilder, in both Spring MVC and WebFlux.
Closes gh-30046
2023-03-08 12:50:02 +01:00
Sam Brannen
ffe7ec4a99
Apply "instanceof pattern matching" in remainder of spring-webmvc module
...
See gh-30067
2023-03-07 18:23:15 +01:00
Sam Brannen
2d56505ea9
Polishing
2023-02-20 16:49:27 +01:00
Sam Brannen
6d24e62e83
Polishing
2023-02-19 17:43:31 +01:00
Sam Brannen
2e1374b459
Update copyright headers
2023-02-19 13:41:36 +01:00
Arjen Poutsma
88e6544d9d
Fix regression in WebFlux support for WebDAV methods
...
This commit ensures that WebFlux's RequestMethodsRequestCondition
supports HTTP methods that are not in the RequestMethod enum.
- RequestMethod::resolve is introduced, to convert from a HttpMethod
(name) to enum values.
- RequestMethod::asHttpMethod is introduced, to convert from enum value
to HttpMethod.
- HttpMethod::valueOf replaced Map-based lookup to a switch statement
- Enabled tests that check for WebDAV methods
See gh-27697
Closes gh-29981
2023-02-17 12:46:26 +01:00
Johnny Lim
ce3be72e7f
Polish
2023-02-15 22:22:58 +09:00
Juergen Hoeller
3e3f046dc9
Polishing
2023-02-15 12:57:44 +01:00
Juergen Hoeller
f87a87e29d
Consistent ordering of Resource methods
...
See gh-24651
2023-02-15 10:13:03 +01:00
rstoyanchev
9a4df5a97d
DefaultHandlerExceptionResolver respects custom ModelAndView
...
Closes gh-29971
2023-02-14 20:13:15 +00:00
Juergen Hoeller
ac429a4ef7
Restore fallback to request attributes in FreeMarker template model
...
Closes gh-29787
2023-02-14 16:36:07 +01:00
Arjen Poutsma
12d4dc1bae
Polishing external contribution
...
This commit makes several changes to PR #24651 .
- Add byte[] getContentAsByteArray() on Resource.
- Remove getContentAsString() from Resource, as it relied on the default
charset which is not reliable.
- Add getContentAsString() to EncodedResource, as a charset is provided
through the constructor.
See gh-24651
2023-02-14 14:56:34 +01:00
rstoyanchev
dc843adb45
Improve docs on {@code Accept-Language} negotiation
...
Closes gh-28673
2023-02-13 18:39:19 +00:00
rstoyanchev
e5ff54955f
ProblemDetail XML support via Jackson
...
Closes gh-29927
2023-02-08 10:39:41 +00:00
rstoyanchev
ce85fdc5c7
Always use application/problem+json with ProblemDetail
...
See gh-gh-29588
2023-02-07 08:57:24 +00:00
rstoyanchev
7851994a17
Refine empty path handling in MvcUriComponentsBuilder
...
Return "" from methods that obtain controller or method mapping to
avoid side effect of a trailing slash appearing.
Closes gh-29897
2023-02-07 08:57:24 +00:00
Juergen Hoeller
c0c9ba5c2c
Polishing
2023-01-31 16:14:32 +01:00
Juergen Hoeller
4d6249811e
Explicit target ClassLoader for interface-based infrastructure proxies
...
Includes direct JDK Proxy usage instead of ProxyFactory where possible.
Closes gh-29913
2023-01-31 16:11:34 +01:00
Sam Brannen
64b89429cb
Update copyright headers
2023-01-31 11:52:25 +01:00
Sam Brannen
d5b0782700
Polishing
2023-01-31 10:10:44 +01:00
rstoyanchev
9c6fd3ed06
Consistently list supported media types
...
Add constructors to HttpMediaTypeNotSupportedException and
UnsupportedMediaTypeStatusException for a parse error that also accept
the list of supported media types to include in the response headers.
Closes gh-28062
2023-01-30 17:46:08 +00:00
rstoyanchev
e564a0de46
Provide access to interceptors in AbstractHandlerMapping
...
Closes gh-28985
2023-01-30 17:46:08 +00:00
Arjen Poutsma
f9884e08af
Polish external contribution
2023-01-30 14:19:41 +01:00
Vatsa
9819cb3eb5
Update HandlerFunctionAdapter::setAsyncRequestTimeout Javadoc
...
Closes gh-29882
2023-01-30 14:19:41 +01:00
Sébastien Deleuze
ab9bea1d93
Polish RouterFunctionDsl KDoc
2023-01-23 13:28:10 +01:00
Sam Brannen
58872c79ee
Update copyright headers
2023-01-20 14:17:53 +01:00
Sam Brannen
24f18275dd
Stop referring to "Spring 3.x" features in documentation and code
2023-01-20 14:13:18 +01:00
Sam Brannen
86a40716bd
Polishing
2023-01-20 10:28:25 +01:00
Sam Brannen
7f48d1b55a
Remove obsolete Tiles documentation from Javadoc
...
See gh-29852
2023-01-20 10:27:48 +01:00
Sam Brannen
1ace42f245
Enable JRubyScriptTemplateTests
2023-01-19 16:20:03 +01:00
Sam Brannen
0502d18e3d
Update copyright headers
2023-01-19 16:20:03 +01:00
Sam Brannen
c4c786596f
Migrate to Mockito.mock(T...) where feasible
2023-01-19 16:20:02 +01:00
Arjen Poutsma
9ebd1e8d64
Fix IllegalStateException in empty ProducesRequestCondition
...
When comparing empty ProducesRequestCondition, compareTo would throw an
IllegalStateException if the Accept header was invalid. This commit
fixes that behavior.
Closes gh-29794
2023-01-18 10:38:09 +01:00
rstoyanchev
312db36849
Combined, empty RequestMapping matches both "" and "/"
...
Closes gh-29625
2023-01-13 14:58:11 +00:00
Sam Brannen
a4956dfe26
Update copyright headers
2023-01-11 13:52:20 +01:00
Sam Brannen
0415975dd1
Polish contribution and related code
2023-01-11 13:52:20 +01:00
Krzysztof Krason
afb8a0d1b1
Use new Java features (switch expressions, text blocks, new JDK methods)
...
Closes gh-29747
2023-01-11 13:51:28 +01:00
Juergen Hoeller
254c3725e2
Polishing
2022-12-23 15:14:11 +01:00
Sam Brannen
ab571e3562
Revert incorrect change to ParamAware Javadoc
2022-12-18 14:14:40 +01:00
Sam Brannen
d4623a393b
Update copyright headers
2022-12-18 12:16:19 +01:00
Sam Brannen
5c28b56823
Remove duplicated words in Javadoc
2022-12-18 12:05:18 +01:00
Arjen Poutsma
6fe5652783
Support non-standard HTTP methods in FrameworkServlet
...
This commit ensures that HTTP methods not supported by HttpServlet, for
instance WebDAV methods, are still supported in FrameworkServlet.
Closes gh-29689
2022-12-14 12:54:41 +01:00
Sam Brannen
c7bdfbea4f
Add missing Javadoc
...
See gh-29574
2022-12-13 13:46:31 +01:00
Sam Brannen
7fe78b745f
Polish Javadoc
2022-12-13 13:44:03 +01:00
Sam Brannen
46fc28fd1a
Clean up Javadoc and source code regarding " ." typos
2022-12-12 16:31:14 +01:00
Sam Brannen
284cb12f8f
Use URI#create instead of URI constructor where feasible in spring-webmvc
2022-12-09 13:27:13 -05:00
rstoyanchev
39d4d2041a
Polishing contribution
...
Closes gh-29634
2022-12-09 10:24:42 +00:00
koo.taejin
5ac97b16a8
Optimize object creation PartialMatchHelper
...
See gh-29634
2022-12-09 10:19:54 +00:00
Sam Brannen
69f47e7700
Polishing
...
- primarily automated "clean up" using Eclipse IDE
2022-12-09 00:56:00 -05:00
Sam Brannen
9f7a510f90
Polishing
2022-12-06 12:29:03 -05:00
rstoyanchev
5214bd3093
Fix issue with getHeaders in NoHandlerFoundException
...
Closes gh-29626
2022-12-06 13:37:08 +00:00
Sam Brannen
4f232a9003
Update copyright headers
2022-12-03 18:24:44 -05:00
Baljit Singh
b1fdb148d0
ResponseStatusException delegates to protected constructor
...
This ensures that by default the reason is used to set the "detail"
field. It's a follow-up fix to a27f2e994b
which resolved the issue partially.
Closes gh-29608
2022-12-02 14:20:16 +00:00
Sam Brannen
ad60164911
Update copyright headers for source code changed since August 2022
...
The changes in this commit were performed using the newly introduced
update_copyright_headers.sh script.
2022-11-29 19:38:42 +01:00