TSK-1368: removed duplicate context root in self ref links
This commit is contained in:
parent
3691ea624d
commit
79e674f958
|
|
@ -1,16 +1,12 @@
|
||||||
package pro.taskana.common.rest.assembler;
|
package pro.taskana.common.rest.assembler;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.StreamSupport;
|
import java.util.stream.StreamSupport;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import org.springframework.hateoas.IanaLinkRelations;
|
import org.springframework.hateoas.IanaLinkRelations;
|
||||||
import org.springframework.hateoas.Link;
|
import org.springframework.hateoas.Link;
|
||||||
import org.springframework.hateoas.PagedModel.PageMetadata;
|
import org.springframework.hateoas.PagedModel.PageMetadata;
|
||||||
import org.springframework.hateoas.RepresentationModel;
|
import org.springframework.hateoas.RepresentationModel;
|
||||||
import org.springframework.hateoas.server.RepresentationModelAssembler;
|
import org.springframework.hateoas.server.RepresentationModelAssembler;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
||||||
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
||||||
import org.springframework.web.util.UriComponentsBuilder;
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
|
|
||||||
|
|
@ -35,7 +31,7 @@ public interface TaskanaPagingAssembler<T, D extends RepresentationModel<? super
|
||||||
}
|
}
|
||||||
|
|
||||||
default TaskanaPagedModel<D> addLinksToPagedResource(TaskanaPagedModel<D> model) {
|
default TaskanaPagedModel<D> addLinksToPagedResource(TaskanaPagedModel<D> model) {
|
||||||
final UriComponentsBuilder original = getBaseUri();
|
final UriComponentsBuilder original = ServletUriComponentsBuilder.fromCurrentRequest();
|
||||||
final PageMetadata page = model.getMetadata();
|
final PageMetadata page = model.getMetadata();
|
||||||
|
|
||||||
model.add(Link.of(original.toUriString()).withSelfRel());
|
model.add(Link.of(original.toUriString()).withSelfRel());
|
||||||
|
|
@ -60,19 +56,4 @@ public interface TaskanaPagingAssembler<T, D extends RepresentationModel<? super
|
||||||
|
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
default UriComponentsBuilder getBaseUri() {
|
|
||||||
final HttpServletRequest request =
|
|
||||||
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
||||||
final UriComponentsBuilder baseUri =
|
|
||||||
ServletUriComponentsBuilder.fromServletMapping(request).path(request.getRequestURI());
|
|
||||||
|
|
||||||
for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
|
|
||||||
for (String value : entry.getValue()) {
|
|
||||||
baseUri.queryParam(entry.getKey(), value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return baseUri;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue