Проблема с преобразованием POJO в JSON - PullRequest
0 голосов
/ 10 апреля 2019

Я разрабатываю 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);
      }
}

почему эта ошибка возникает только на одном компьютере?

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