У меня есть следующее SpringBootApplication
:
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@SpringBootApplication
@Configuration
public class RestServer implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(RestServer.class, args);
}
}
И я бы хотел, чтобы Multimap
Guava автоматически сериализовался в JSON.
Так что у меня есть этот код в одном из моих классовгде все остальные поля успешно сериализованы в JSON:
@JsonProperty("multimap_test")
public Multimap<Instrument, AdjustedLimitOrder> getMultimap() {
return someMultiMap;
}
Но возвращенное поле JSON выглядит так:
"multimap_test": {
"empty": false
}
Нужно ли указывать десериализатор в поле?
Использование этого не работает, потому что нет конструктора по умолчанию:
@JsonProperty("multimap_test")
public Multimap<Instrument, AdjustedLimitOrder> getMultimap() {
return someMultimap;
}
Обратите внимание, что мой пример реализует WebMvcConfigurer
.
Здесьсписок ссылок инструкций, которые не кажутся убедительными в том, как это сделать, потому что они обсуждают случай, когда SpringBootApplication
реализует SpringBootServletInitializer
или WebMvcConfigurerAdapter
(что устарело).
Как может Multimap
Guava автоматически сериализоваться?