有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

不同方法中的JavaSpringWebMVC处理程序参数

首先,我将SpringWebMVC(5.0.4到SpringBoot2.0)与Kotlin一起使用(但是这个问题与Kotlin无关)

我试图将一些常见功能抽象成一个抽象基类,可以跨多个控制器重用。例如,我的基类中确实有一个getAll方法,它使用@GetMapping标记为处理程序方法。现在我想从这个getAll方法调用这个类中的一些其他(抽象)方法。然而,在这些抽象方法中,正常的参数绑定机制不可用(例如,我不能使用@RequestParam)。有办法解决这个问题吗?如何在这些抽象(非处理程序)方法中访问请求参数? 我知道我可以使用@RequestParamMultiValueMap<String, String>来获取getAll方法中的所有参数,但是我没有任何可用的参数转换

一些代码:

abstract class MyBaseController {

    @GetMapping fun getAll(@RequestParam allParameters: MultiValueMap<String, String>) {
        // perform some logic
        doStuff()
    }

    abstract fun doStuff()
}

class MyController : MyBaseController() {

    override fun doStuff() {
        // how to obtain e.g. request parameter "ids" as a List<UUID> here?
    }
}

共 (0) 个答案