Я работаю над клиентским приложением, которое использует RestTemplate для связи с REST API.
RestTemplate настроен следующим образом:
@Configuration
class RestTemplateConfiguration {
@Bean
fun restTemplate(restTemplateBuilder: RestTemplateBuilder): RestTemplate {
return restTemplateBuilder.build()
}
}
Но я также уже пытался настроить его следующим образом:
@Configuration
class RestTemplateConfiguration {
@Bean
fun restTemplate(restTemplateBuilder: RestTemplateBuilder): RestTemplate {
val restTemplate = RestTemplate()
val converter = MappingJackson2HttpMessageConverter ()
converter.objectMapper = ObjectMapper()
restTemplate.messageConverters.add(converter)
return restTemplate
}
}
Итак, когда компонент вводится как метод Параметр, только для целей тестирования, работает нормально:
@GetMapping
fun getAll(restTemplate: RestTemplate, model: Model): String {
val response = restTemplate.exchange("http://localhost:8080/api/metagame/archetypes", HttpMethod.GET, null,
object : TypeReferences.PagedModelType<ArchetypeModel>() {})
val archetypes = response.body?.content ?: ArrayList<EntityModel<ArchetypeModel>>()
model.addAttribute("archetypes", archetypes)
return "metagame/archetypes/index"
}
Но каждый раз, когда он вводится как параметр конструктора, ответ приходит пустым:
class ArchetypeController(val restTemplate: RestTemplate)
Является ли это Kotlin проблема или проблема конфигурации ...? Поскольку Spring не выдаёт мне сообщение об ошибке, я полностью потерян: /