Как устранить ошибку «Присвоение отдельных элементов varargs в именованной форме запрещено»

#java #spring #spring-boot #kotlin

Вопрос:

Мы используем Spring Boot с Kotlin. Недавно мы обновили код Kotlin с версии 1.1.X до версии 1.4.X. После этого обновления у нас появилось много проблем с компиляцией, связанных с vararg.

Код:

 interface OutageClient {
    @RequestMapping(method = arrayOf(RequestMethod.GET), value = "/mass-outages")
    fun getMassOutages( @RequestParam("state") state: String): MassOutage
 

Проблема компиляции, которую я получаю, заключается в:

Присвоение отдельных элементов varargs в именованной форме запрещено

Мы сталкиваемся с этой проблемой в value = "/mass-outages" части кода.

Комментарии:

1. Заверните его [] .

2. о , так просто

Ответ №1:

Назначение отдельных элементов varargs в именованной форме устарело начиная с версии 1.3 kotlin.

Чтобы решить эту проблему, вы можете использовать синтаксис литерала массива, который разрешен для аннотаций

 value = ["/mass-outages"]