package org.baeldung.um.web.controller;
import javax.servlet.http.HttpServletRequest;
import org.baeldung.um.util.UmMappings;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping(method = RequestMethod.GET)
public class RedirectController {
public RedirectController() {
super();
}
// API
@RequestMapping(value = UmMappings.Singural.PRIVILEGE)
public ResponseEntity<Void> privilegeToPrivileges(final HttpServletRequest request) {
return singularToPlural(request);
}
@RequestMapping(value = UmMappings.Singural.ROLE)
public ResponseEntity<Void> roleToRoles(final HttpServletRequest request) {
return singularToPlural(request);
}
@RequestMapping(value = UmMappings.Singural.USER)
public ResponseEntity<Void> userToUsers(final HttpServletRequest request) {
return singularToPlural(request);
}
// util
private final ResponseEntity<Void> singularToPlural(final HttpServletRequest request) {
final String correctUri = request.getRequestURL().toString() + "s";
final HttpHeaders responseHeaders = new org.springframework.http.HttpHeaders();
responseHeaders.add(org.apache.http.HttpHeaders.LOCATION, correctUri);
final ResponseEntity<Void> redirectResponse = new ResponseEntity<Void>(responseHeaders, HttpStatus.MOVED_PERMANENTLY);
return redirectResponse;
}
}