java - 无法使用路径映射 Controller

标签 java spring spring-boot

我有这个简单的 java Spring Boot 项目,没有任何 bean 或持久性。我创建了多个包以按功能分隔类。

我读到 Controller 必须在初始包 NameApplication.java 中。但是,我在端口 8080 上启动项目并放置下一个 url localhost:8080/hello/grettings show me Whitelabel Error Page 但我放置 localhost:8080 并加载 index.html

为什么不起作用?

@Controller
@RequestMapping("/hello")
public class BasicController {

    @GetMapping(path = {"/grettings", "/helloworld"})
    public String grettings() {
        return "index";
    }
}

应用程序属性

# Application name.
spring.application.name=CursoSpring 

# Logging
logging.level.root=WARN
logging.level.com.globalomnium=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

#Flyway
#spring.flyway.baseline-on-migrate=true

# THYMELEAF
#spring.thymeleaf.check-template-location=true
#spring.thymeleaf.prefix=classpath:/templates/
#spring.thymeleaf.suffix=.html
#spring.thymeleaf.mode=HTML
#spring.thymeleaf.encoding=UTF-8
#spring.thymeleaf.servlet.content-type=text/html 
spring.thymeleaf.cache=false


# Server HTTP port.
server.port=8080

pom.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-thymeleaf</artifactId> 
    </dependency>

</dependencies>

包结构

enter image description here

最佳答案

CursoSpringApplication 是应用程序的起点。启动时,它会搜索@Controller、@Service、@Repository 和@Component 等组件。通常建议您将主应用程序类放在其他类之上的根包中。所以这个CursoSpringApplication类应该放在最外层的包中。将 com.globalomnium.axis.maps 更改为 com.globalomnium.axis

示例结构

com
 +- example
     +- myapplication
         +- Application.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java

read more

关于java - 无法使用路径映射 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645412/

相关文章:

java - CardLayout 更新信息时删除旧面板

java - 通过 REST API : allocatedMB, allocatedVcores 和 runningContainers 的 Hadoop 指标始终为 -1

java - 获取 Spring Servlet 应用程序上下文

java - Spring MVC 中 Web 请求生命周期的开始和结束

java - Java Spring中的ActiveMQ数据持久化问题

即使证书在浏览器中有效,Java 也无法验证证书

java - 使用 Java 将 OpenOffice 幻灯片从一个演示文稿复制到另一个

java - Google 端点无法在本地主机中接收 utf-8 字符

java - 在进行批量更新时,PostUpdate Hook 不起作用

spring-boot - 使用Springfox-Swagger2在Swagger UI中自定义请求 header 描述