我有一个要求,在localhost:8080的情况下,它应该指向spring Boot 应用程序中的默认网页。我现在使用的是Sping Boot 3.1.1。正常情况下一切正常,但我添加server.servlet.contextPath=my-service
,它不工作。我提供下面的代码。
我的控制器代码
@RestController
public class DefaultController {
@GetMapping(path = "/")
public ResponseEntity<String> getValue() {
return ResponseEntity.ok("Hello World");
}
@GetMapping(path = "/info")
public ResponseEntity<String> getInfoValue() {
return ResponseEntity.ok("Some Information");
}
}
字符串
我还尝试了以下@Configuration
选项。
@Configuration
public class WebMVCApplicationConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/", "/my-service/info");
}
}
型
如果我在application.properties中注解以下内容,则一切正常。
# server.servlet.contextPath=/my-service
型
如果我取消注解contextPath,我会得到HTTP Status 404 - Not Found
请建议我。我想重定向到沿着contextPath的网页。如果有人正在访问localhost:8080
,它应该重定向到localhost:8080/my-service/info
。
请帮帮我
1条答案
按热度按时间rfbsl7qr1#
这段代码可能是有用的,我从stackoverflow得到的。这段代码满足了我的要求。链接在下面。
Auto-redirect root path to Spring Boot Context Path
字符串