gpt4 book ai didi

spring - 带有JpaRepository的RestController返回javax.servlet.ServletException:处理程序无适配器

转载 作者:行者123 更新时间:2023-12-02 13:28:34 29 4
gpt4 key购买 nike

使用Kotlin,我具有以下依赖关系:

implementation("org.springframework.boot:spring-boot-starter-web")
implementation(kotlin("stdlib-jdk8"))

implementation("org.springframework.boot:spring-boot-starter-data-jpa")
runtimeOnly("org.postgresql:postgresql")
implementation(kotlin("reflect"))
该实体:
@Entity
@Table(name = "some_table")
data class SomeEntity(
@Id val someNumber: Int,
val someText: String
)
使用这个存储库 interface SomeRepo : JpaRepository<SomeEntity, Int>和这个 Controller :
@RestController("/someEntity")
class SomeController(
val someRepo: SomeRepo
) {
@GetMapping
fun findAll() = someRepo.findAll()
}
但是当我尝试 javax.servlet.ServletException: No adapter for handler [com.controller.SomeController@10ffe32f]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler时,总是会收到此异常 localhost:8080/someEntityfindAll更改为 @GetMapping fun findAll(): List<SomeEntity> = listOf(SomeEntity(1, "a"))无法解决。我在这里想念的是什么?

最佳答案

传递给value@RequestController不是URL映射,而是Spring bean的名称。必须在类级别使用@RequestMapping或在每种方法上使用@GetMapping / @PostMapping。显式提供根映射。

@RestController
@RequestMapping("/someEntity")
class SomeController(
val someRepo: SomeRepo
) {
@GetMapping
fun findAll() = someRepo.findAll()
}
要么
@RestController
class SomeController(
val someRepo: SomeRepo
) {
@GetMapping("/someEntity")
fun findAll() = someRepo.findAll()
}

关于spring - 带有JpaRepository的RestController返回javax.servlet.ServletException:处理程序无适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62749794/

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