DATACMNS-1526 - Adapt to API changes in Spring HATEOAS.

This commit is contained in:
Oliver Drotbohm
2019-05-08 19:10:04 +02:00
parent a8e90b1932
commit e31c7aed51
2 changed files with 17 additions and 4 deletions

View File

@@ -257,7 +257,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
* @return
*/
private UriTemplate getUriTemplate(Optional<Link> baseLink) {
return new UriTemplate(baseLink.map(Link::getHref).orElseGet(this::baseUriOrCurrentRequest));
return UriTemplate.of(baseLink.map(Link::getHref).orElseGet(this::baseUriOrCurrentRequest));
}
/**
@@ -274,7 +274,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
UriComponentsBuilder builder = fromUri(base.expand());
pageableResolver.enhance(builder, getMethodParameter(), pageable);
return new Link(new UriTemplate(builder.build().toString()), relation);
return new Link(UriTemplate.of(builder.build().toString()), relation);
}
/**

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.data.web;
import java.lang.reflect.Method;
import java.util.List;
import javax.annotation.Nonnull;
@@ -106,8 +107,14 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg
@Nullable
private UriComponents resolveBaseUri(MethodParameter parameter) {
Method method = parameter.getMethod();
if (method == null) {
throw new IllegalArgumentException(String.format("Could not obtain method from parameter %s!", parameter));
}
try {
Link linkToMethod = linkBuilderFactory.linkTo(parameter.getDeclaringClass(), parameter.getMethod()).withSelfRel();
Link linkToMethod = linkBuilderFactory.linkTo(parameter.getDeclaringClass(), method).withSelfRel();
return UriComponentsBuilder.fromUriString(linkToMethod.getHref()).build();
} catch (IllegalArgumentException o_O) {
return null;
@@ -124,7 +131,13 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg
@Nullable
private static MethodParameter findMatchingPageableParameter(MethodParameter parameter) {
MethodParameters parameters = new MethodParameters(parameter.getMethod());
Method method = parameter.getMethod();
if (method == null) {
throw new IllegalArgumentException(String.format("Could not obtain method from parameter %s!", parameter));
}
MethodParameters parameters = MethodParameters.of(method);
List<MethodParameter> pageableParameters = parameters.getParametersOfType(Pageable.class);
Qualifier assemblerQualifier = parameter.getParameterAnnotation(Qualifier.class);