Kotlin 1.1.60不接受将数组作为Spring RequestMapping的值

时间:2018-06-28 11:08:06

标签: spring controller kotlin

我正在尝试将以下注释添加到端点:

@GetMapping(value = arrayOf("path/1", "path/2"))
fun myEndpoint() { ... }

Kotlin编译器抱怨value只接受String而不是Array<String>,而注释文档清楚地指出value接受String []。知道如何解决这个问题吗?

Kotlin版本1.1.60,春季4.3.13

2 个答案:

答案 0 :(得分:0)

尝试

@GetMapping(value = ["some thing", "another some thing"])

在我的环境中,Spring Bean和Controler映射可以正常使用。

答案 1 :(得分:0)

好吧,由于某种原因删除了正确的答案后,我将重复该操作:

@GetMapping("path/1", "path/2")
fun myEndpoint() { ... }

有效。 @yole回答Kotlin: how to pass array to Java annotation时,“如http://kotlinlang.org/docs/reference/annotations.html#java-annotations中所述,值参数在Kotlin中自动转换为vararg参数。”