Commit Graph

802 Commits

Author SHA1 Message Date
Spring Builds
b221ddae7c Prepare next development iteration.
See #2178
2022-10-13 09:23:44 +00:00
Spring Builds
d1913cfbb8 Release version 3.7.4 (2021.2.4).
See #2178
2022-10-13 08:59:54 +00:00
Spring Builds
b2ec5ddad0 Prepare next development iteration.
See #2160
2022-09-19 12:00:10 +00:00
Spring Builds
984e1ffc00 Release version 3.7.3 (2021.2.3).
See #2160
2022-09-19 11:38:44 +00:00
Oliver Drotbohm
2ad081f75b Improve JSON Patch implementation.
Refactor JSON Patch application implementation to improve the property detection for which values are supposed to be set.

Fixes #2177.
2022-09-19 10:21:02 +02:00
Christoph Strobl
828fedd2ef Prepare next development iteration.
See #2154
2022-07-15 11:24:05 +02:00
Christoph Strobl
e4c294f5d8 Release version 3.7.2 (2021.2.2).
See #2154
2022-07-15 11:08:28 +02:00
Oliver Drotbohm
d130d61e2e Polish annotation attribute aliasing in RepositoryRestController.
Related ticket: #2087.
2022-07-14 17:46:04 +02:00
Oliver Drotbohm
f89a458bc7 Forward StringValueResolver to DelegatingHandlerMappings targets.
RepositoryRestMvcConfiguration now implements EmbeddedValueResolver to forward the StringValueResolver given to both BasePathAwareHandlerMapping and RepositoryRestHandlerMapping.

Related ticket: #2087.
2022-07-13 23:43:37 +02:00
Oliver Drotbohm
86ff61cc10 Polishing.
Added test case and re-enabled the base URI to be prepended even in case a controller path prefix is configured. That functionality had been lost with the originally submitted changes.

Related ticket: #2087
Original pull request: #2088.
2022-07-06 16:17:24 +02:00
Yves Galante
c73d3816a6 Add support for controller base path on BasePathAwareController / RepositoryRestController.
This commit introduces support for a common base path shared amongst all handler methods of a controller annotated with @BasePathAwareController / @RepositoryRestController.

Related ticket: #2087
Original pull request: #2088.
2022-07-06 16:13:43 +02:00
Mark Paluch
4ab1555ca8 Prepare next development iteration.
See #2143
2022-06-20 11:40:05 +02:00
Mark Paluch
55962885eb Release version 3.7.1 (2021.2.1).
See #2143
2022-06-20 11:29:30 +02:00
Christoph Strobl
e67207519f Prepare next development iteration.
See #2134
2022-05-13 10:15:10 +02:00
Christoph Strobl
67f1a9850d Release version 3.7 GA (2021.2.0).
See #2134
2022-05-13 10:05:08 +02:00
Christoph Strobl
f7dcae3181 Prepare next development iteration.
See #2126
2022-04-19 11:21:15 +02:00
Christoph Strobl
728c4e8298 Release version 3.7 RC1 (2021.2.0).
See #2126
2022-04-19 11:10:55 +02:00
Oliver Drotbohm
18dc75a577 Fix PUT merge handling for polymorphic properties.
We now replace the original value of polymorphic properties with the newly deserialized one if the type of the new one is different from the old one. We still copy all JSON ignored properties to the new instance to make sure that non-exposed, server-side state is retained. We apply the same handling for explicitly immutable source and/or target types.

Fixes #2130.
2022-04-04 14:51:44 +02:00
Oliver Drotbohm
33a0e7a2c0 Fix potential NullPointerException in HalFormsAdaptingResponseBodyAdvice.
Fixes #2123.
2022-03-28 16:51:17 +02:00
Greg L. Turnquist
e04726abdf Prepare next development iteration.
See #2112
2022-03-21 10:20:31 -05:00
Greg L. Turnquist
306795628c Release version 3.7 M4 (2021.2.0).
See #2112
2022-03-21 10:09:34 -05:00
Mark Paluch
d3beba8311 Prepare next development iteration.
See #2101
2022-02-18 11:15:39 +01:00
Mark Paluch
c9dc343179 Release version 3.7 M3 (2021.2.0).
See #2101
2022-02-18 11:09:11 +01:00
Oliver Drotbohm
c9b7d2df26 Update copyright years to 2022. 2022-02-07 10:14:58 +01:00
Christoph Strobl
eaf806bdf6 Prepare next development iteration.
See #2099
2022-01-18 09:21:30 +01:00
Christoph Strobl
d2a2c5fc7a Release version 3.7 M2 (2021.2.0).
See #2099
2022-01-18 09:09:37 +01:00
Christoph Strobl
a87c012eac Prepare next development iteration.
See #2086
2022-01-14 11:08:01 +01:00
Christoph Strobl
747573d510 Release version 3.7 M1 (2021.2.0).
See #2086
2022-01-14 10:58:18 +01:00
Jens Schauder
87b2601b27 Prepare next development iteration.
See #2079
2021-11-12 10:59:42 +01:00
Jens Schauder
e31c9d49bf Release version 3.6 GA (2021.1.0).
See #2079
2021-11-12 10:49:37 +01:00
Oliver Drotbohm
a40aec5deb Consider @CrossOrigin(originPatterns = …).
RepositoryRestHandlerMapping's RepositoryCorsConfigurationAccessor now also evaluates @CrossOrigin's originPatterns into the CorsConfiguration.

Fixes #2077.
2021-10-19 10:32:48 +02:00
Mark Paluch
f556973a6c Prepare next development iteration.
See #2066
2021-10-18 13:55:39 +02:00
Mark Paluch
cecc161fe6 Release version 3.6 RC1 (2021.1.0).
See #2066
2021-10-18 13:48:15 +02:00
Patrik Mihalcin
358bd3578a Fix typo in RepositoryRestController's JavaDoc
Fixes #2061.
2021-10-13 16:02:18 +02:00
Oliver Drotbohm
4434d32fae Prevent using NestedEntitySerializer if target serializer does not support unwrapping.
We now verify that the serializer registered for the type that's supposed to be handled by the NestedEntitySerializer actually supports unwrapping as the serialization in EntityModel (MapSuppressingUnwrappingSerializer) requires that to work properly.

Fixes #2056.
2021-10-13 11:59:53 +02:00
Oliver Drotbohm
1828a6a2a7 Switch to JUnit 5.
Issue #2075.
2021-10-12 22:29:45 +02:00
Oliver Drotbohm
18b39cb321 Reduce general runtime exception logging to debug.
Issue #2074.
2021-10-12 16:21:12 +02:00
Oliver Drotbohm
46dc6e03fc Prevent duplicate controller registrations through class-level @RequestMapping.
When we detected @BasePathAwareController and @RepositoryRestController instances, we now reject types that use @RequestMapping on the class level as doing so causes an inevitable registration of the controller with Spring MVC.

Fixes #1342, #1628, #1686, #1946.
2021-10-06 12:13:37 +02:00
Oliver Drotbohm
c6b77e3dd9 Polish Javadoc to prepare builds with JDK 17.
Issue #2068.
2021-09-21 16:36:26 +02:00
Mark Paluch
0cb5c3289f Prepare next development iteration.
See #2052
2021-09-17 09:52:19 +02:00
Mark Paluch
907b15e83b Release version 3.6 M3 (2021.1.0).
See #2052
2021-09-17 09:44:58 +02:00
Oliver Drotbohm
1dae476040 Adapt Content-Type header for HAL FORMS requests based on affordances.
Whenever HAL FORMS is supposed to be rendered, we now adapt the `Content-Type` header depending on whether affordances (and thus `_templates`) are present. If none can be found, we either adapt the header to either `application/hal+json` or even `application/json` depending on the `Accept` header arrangement given. If none match, we reject the request with `406 Not Acceptable`.

Had to reintroduce a dependency on Lombok to use @SneakyThrows as otherwise we cannot throw HttpMediaTypeNotAcceptableException from a ResponseBodyAdvice. A manual implementation of the pattern does not compile on Java 8 (at least on MacOS).

Fixes #2060.
2021-09-14 22:49:05 +02:00
Oliver Drotbohm
2aca2b24e0 Avoid reflection in RepositoryRestMvcConfiguration.
We now completely avoid reflection in RepositoryRestMvcConfiguration by delaying all bean lookups that were previously declared through autowired fields.

Fixes #2057.
2021-08-26 15:38:47 +02:00
Oliver Drotbohm
9cd9e1cef9 Avoid eager reference to BackendIdConverter beans.
Switched to bean method parameter reference to all BackendIdConverter instances.

Fixes #2055.
2021-08-19 23:19:08 +02:00
Jens Schauder
4f9ccaac0e Prepare next development iteration.
See #2046
2021-08-12 15:16:22 +02:00
Jens Schauder
f8bdb374ea Release version 3.6 M2 (2021.1.0).
See #2046
2021-08-12 15:03:18 +02:00
Jens Schauder
5e08842c1b Prepare next development iteration.
See #2001
2021-07-16 14:19:56 +02:00
Jens Schauder
8d0e00be94 Release version 3.6 M1 (2021.1.0).
See #2001
2021-07-16 14:09:26 +02:00
Oliver Drotbohm
8a1d147009 Remove 3.x deprecations.
Removed all deprecations that have accumulated in the 3.x timeline so far.
2021-07-15 08:20:11 +02:00
Oliver Drotbohm
161a3a9499 Allow customization of LinkCollector.
LinkCollector is now an interface. The actual implementation has been moved to DefaultLinkCollector. RepositoryRestConfigurer now has a customizeLinkCollector(…) callback method to tweak or even completely replace the LinkCollector instance.

Fixes #2042.
2021-07-15 08:15:20 +02:00