Я разрабатываю API REST и использую Spring-mvc
(нет spring-boot
)
@RestController
@RequestMapping(value = "/api")
public class restController {
...
@GetMapping(value = "/sectors")
public List<SimpleDto> getSectors() {
return dao.getSectors();
}
Мой dto:
public class SimpleDto {
public Integer value;
public String label;
// with getter and setter and defalut and custom constructors
WebConfig.java
@Configuration
@EnableWebMvc
@ComponentScan({"controllers"})
public class WebConfig {}
и для преобразования json
я добавил в свой pom.xml :
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
Все работает хорошо, но когда я клонировал этот проект с Git
, чтобы разбудить его из дома, я получил эту ошибку, когда я сделал ajax-запрос:
Resolved [org.springframework.http.converter.HttpMessageNotWritableException:
No converter found for return value of type: class java.util.ArrayList]
Я исправил это, добавив
pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.8</version>
</dependency>
WebConfig.java
@Configuration
@EnableWebMvc
@ComponentScan({"controllers"})
public class WebConfig extends WebMvcConfigurationSupport {
@Bean
public ObjectMapper getObjectMapper() {
return new ObjectMapper();
}
@Bean
public MappingJackson2HttpMessageConverter messageConverter() {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(getObjectMapper());
return converter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(messageConverter());
addDefaultHttpMessageConverters(converters);
}
}
почему эта ошибка возникает только на одном компьютере?