Spring Boot / Kotlin игнорирует поле значения @QueryParam - PullRequest
0 голосов
/ 17 марта 2020

У меня есть веб-приложение Spring Boot / Kotlin и контроллер, который принимает параметры запроса.

Вот мой метод контроллера:

import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.ResponseBody
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
...
@GetMapping("/items")
@ResponseBody
@Produces(MediaType.APPLICATION_JSON_VALUE)
fun getItems(@QueryParam("n") count: Int? = null): Collection<MyItem>  {
    return myItemService.list(count)
}

Следующий cURL приводит к нулю count параметр:

curl http://localhost:8080/items?n=25

Вместо этого Spring Boot всегда использует имя переменной в качестве значения параметра запроса:

curl http://localhost:8080/items?count=25

Что дает? Это ошибка в Spring Boot, или команда Spring преднамеренно проигнорировала документацию о том, как @QueryParam должен работать, и решила использовать имя переменной вместо значения аннотации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...