Skip to content

Commit 18cdfdc

Browse files
author
eugenp
committed
Using the new Location support
1 parent 512fb68 commit 18cdfdc

File tree

3 files changed

+11
-18
lines changed

3 files changed

+11
-18
lines changed

spring-security-rest-full/src/main/java/org/baeldung/web/controller/FooController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ public List<Foo> findPaginated(@RequestParam("page") final int page, @RequestPar
7979

8080
@RequestMapping(method = RequestMethod.POST)
8181
@ResponseStatus(HttpStatus.CREATED)
82-
public void create(@RequestBody final Foo resource, final HttpServletRequest request, final HttpServletResponse response) {
82+
public void create(@RequestBody final Foo resource, final HttpServletResponse response) {
8383
Preconditions.checkNotNull(resource);
8484
final Long idOfCreatedResource = service.create(resource).getId();
8585

86-
eventPublisher.publishEvent(new ResourceCreated(this, request, response, idOfCreatedResource));
86+
eventPublisher.publishEvent(new ResourceCreated(this, response, idOfCreatedResource));
8787
}
8888

8989
}

spring-security-rest-full/src/main/java/org/baeldung/web/util/ResourceCreated.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
package org.baeldung.web.util;
22

3-
import javax.servlet.http.HttpServletRequest;
43
import javax.servlet.http.HttpServletResponse;
54

65
import org.springframework.context.ApplicationEvent;
76

87
public class ResourceCreated extends ApplicationEvent {
98
private final HttpServletResponse response;
10-
private final HttpServletRequest request;
119
private final long idOfNewResource;
1210

13-
public ResourceCreated(final Object source, final HttpServletRequest request, final HttpServletResponse response, final long idOfNewResource) {
11+
public ResourceCreated(final Object source, final HttpServletResponse response, final long idOfNewResource) {
1412
super(source);
1513

16-
this.request = request;
1714
this.response = response;
1815
this.idOfNewResource = idOfNewResource;
1916
}
@@ -24,10 +21,6 @@ public HttpServletResponse getResponse() {
2421
return response;
2522
}
2623

27-
public HttpServletRequest getRequest() {
28-
return request;
29-
}
30-
3124
public long getIdOfNewResource() {
3225
return idOfNewResource;
3326
}

spring-security-rest-full/src/main/java/org/baeldung/web/util/ResourceCreatedDiscoverabilityListener.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
import java.net.URI;
44

5-
import javax.servlet.http.HttpServletRequest;
65
import javax.servlet.http.HttpServletResponse;
76

7+
import org.apache.http.HttpHeaders;
88
import org.springframework.context.ApplicationListener;
99
import org.springframework.stereotype.Component;
10-
import org.springframework.web.util.UriTemplate;
10+
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
1111

1212
import com.google.common.base.Preconditions;
13-
import com.google.common.net.HttpHeaders;
1413

1514
@Component
1615
class ResourceCreatedDiscoverabilityListener implements ApplicationListener<ResourceCreated> {
@@ -19,16 +18,17 @@ class ResourceCreatedDiscoverabilityListener implements ApplicationListener<Reso
1918
public void onApplicationEvent(final ResourceCreated resourceCreatedEvent) {
2019
Preconditions.checkNotNull(resourceCreatedEvent);
2120

22-
final HttpServletRequest request = resourceCreatedEvent.getRequest();
2321
final HttpServletResponse response = resourceCreatedEvent.getResponse();
2422
final long idOfNewResource = resourceCreatedEvent.getIdOfNewResource();
2523

26-
addLinkHeaderOnResourceCreation(request, response, idOfNewResource);
24+
addLinkHeaderOnResourceCreation(response, idOfNewResource);
2725
}
2826

29-
void addLinkHeaderOnResourceCreation(final HttpServletRequest request, final HttpServletResponse response, final long idOfNewResource) {
30-
final String requestUrl = request.getRequestURL().toString();
31-
final URI uri = new UriTemplate("{requestUrl}/{idOfNewResource}").expand(requestUrl, idOfNewResource);
27+
void addLinkHeaderOnResourceCreation(final HttpServletResponse response, final long idOfNewResource) {
28+
// final String requestUrl = request.getRequestURL().toString();
29+
// final URI uri = new UriTemplate("{requestUrl}/{idOfNewResource}").expand(requestUrl, idOfNewResource);
30+
31+
final URI uri = ServletUriComponentsBuilder.fromCurrentRequestUri().path("/{idOfNewResource}").buildAndExpand(idOfNewResource).toUri();
3232
response.setHeader(HttpHeaders.LOCATION, uri.toASCIIString());
3333
}
3434

0 commit comments

Comments
 (0)