gpt4 book ai didi

spring-boot - RestController 在 SpringBoot 中工作正常,但在 Tomcat 上抛出 404

转载 作者:行者123 更新时间:2023-11-28 22:47:45 25 4
gpt4 key购买 nike

我有一个简单的 RestController 应用程序 -

@RestController
public class GreetingController {

private static final Logger logger = LogManager.getLogger(GreetingController.class);

@RequestMapping("/greeting")
public ResponseEntity<GreetingResponse> greeting(@RequestParam(value = "name", defaultValue = "World") String name) throws ServiceException, Exception {
logger.info("Received Request. Name: " + name);

它在 SpringBoot ( http://localhost:8080/greeting ) 上运行良好,但是当我创建 WAR 并将其部署在 Tomcat (9.0.2) 上时,它会抛出 404。

应用程序部署良好,我可以访问应用程序中的静态 HTML 页面,因此我的上下文路径是正确的。

我可能会遗漏什么?

这是我的 gradle 任务 -

dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('com.jayway.jsonpath:json-path')
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.10.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
}

war {

archiveName = "ROOT.war"
manifest {attributes "Implementation-Version": "${version}"}
}

我有整个应用程序的 zip here ,如果有人好奇的话。

最佳答案

发现问题。我的应用程序必须扩展 SpringBootServletInitializer

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

关于spring-boot - RestController 在 SpringBoot 中工作正常,但在 Tomcat 上抛出 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com