Skip to content

Commit 4ad346e

Browse files
authored
Merge pull request #1104 from d3ns0n/relative-redirect-for-index-page
switch from 'redirect:' prefix to ResponseEntity for redirecting UI index
2 parents b432293 + 35139ee commit 4ad346e

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

springdoc-openapi-ui/src/main/java/org/springdoc/webmvc/ui/SwaggerWelcomeActuator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
1313
import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint;
1414
import org.springframework.http.MediaType;
15+
import org.springframework.http.ResponseEntity;
1516
import org.springframework.web.bind.annotation.GetMapping;
1617
import org.springframework.web.bind.annotation.ResponseBody;
1718

@@ -54,7 +55,7 @@ public SwaggerWelcomeActuator(SwaggerUiConfigProperties swaggerUiConfig, SpringD
5455
@Operation(hidden = true)
5556
@GetMapping(DEFAULT_PATH_SEPARATOR)
5657
@Override
57-
public String redirectToUi(HttpServletRequest request) {
58+
public ResponseEntity<Void> redirectToUi(HttpServletRequest request) {
5859
return super.redirectToUi(request);
5960
}
6061

springdoc-openapi-ui/src/main/java/org/springdoc/webmvc/ui/SwaggerWelcomeCommon.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
import org.springdoc.core.SwaggerUiConfigProperties;
1010
import org.springdoc.ui.AbstractSwaggerWelcome;
1111

12+
import org.springframework.http.HttpStatus;
13+
import org.springframework.http.ResponseEntity;
1214
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
13-
import org.springframework.web.servlet.view.UrlBasedViewResolver;
1415
import org.springframework.web.util.UriComponentsBuilder;
1516

1617
import static org.springdoc.core.Constants.SWAGGER_UI_URL;
@@ -26,15 +27,17 @@ public SwaggerWelcomeCommon(SwaggerUiConfigProperties swaggerUiConfig, SpringDoc
2627
super(swaggerUiConfig, springDocConfigProperties, swaggerUiConfigParameters);
2728
}
2829

29-
protected String redirectToUi(HttpServletRequest request) {
30+
protected ResponseEntity<Void> redirectToUi(HttpServletRequest request) {
3031
buildConfigUrl(request.getContextPath(), ServletUriComponentsBuilder.fromCurrentContextPath());
31-
String sbUrl = swaggerUiConfigParameters.getUiRootPath() + SWAGGER_UI_URL;
32+
String sbUrl = request.getContextPath() + swaggerUiConfigParameters.getUiRootPath() + SWAGGER_UI_URL;
3233
UriComponentsBuilder uriBuilder = getUriComponentsBuilder(sbUrl);
3334

3435
// forward all queryParams from original request
3536
request.getParameterMap().forEach(uriBuilder::queryParam);
3637

37-
return UrlBasedViewResolver.REDIRECT_URL_PREFIX + uriBuilder.build().encode().toString();
38+
return ResponseEntity.status(HttpStatus.FOUND)
39+
.location(uriBuilder.build().encode().toUri())
40+
.build();
3841
}
3942

4043
protected Map<String, Object> openapiJson(HttpServletRequest request) {

springdoc-openapi-ui/src/main/java/org/springdoc/webmvc/ui/SwaggerWelcomeWebMvc.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
import org.springframework.beans.factory.annotation.Value;
3434
import org.springframework.http.MediaType;
35+
import org.springframework.http.ResponseEntity;
3536
import org.springframework.stereotype.Controller;
3637
import org.springframework.web.bind.annotation.GetMapping;
3738
import org.springframework.web.bind.annotation.ResponseBody;
@@ -76,7 +77,7 @@ public SwaggerWelcomeWebMvc(SwaggerUiConfigProperties swaggerUiConfig, SpringDoc
7677
@Operation(hidden = true)
7778
@GetMapping(SWAGGER_UI_PATH)
7879
@Override
79-
public String redirectToUi(HttpServletRequest request) {
80+
public ResponseEntity<Void> redirectToUi(HttpServletRequest request) {
8081
return super.redirectToUi(request);
8182
}
8283

0 commit comments

Comments
 (0)