Не удалось извлечь ответ: нет подходящей ошибки HttpMessageConverter в модульном тесте - PullRequest
0 голосов
/ 17 декабря 2018

У меня следующая структура кода: Config.java

public class Config {
  private Map<Context, Set<String>> mapStrings;

  public Map<Context, Set<String>> getMapStrings() {
    return mapStrings;
  }

  public void setMapStrings(Map<Context, Set<String>> mapStrings) {
    this.mapStrings = mapStrings;
  }

  public static class Context {
    private Integer id;
    private String name;

    public Integer getId() {
      return id;
    }

    public void setId(Integer id) {
      this.id = id;
    }

    public String getName() {
      return name;
    }

    public void setName(String name) {
      this.name = name;
    }
  }
}

код контроллера:

@RestController("somepath")
@RequestMapping("someMapping")
public class ConfigurationController{

  @GetMapping("")
  public Config get(){
    Config config = new Config();
    return config;
  }
}

Тестовый код:

TestRestTemplate restTemplate
@Test
public void test(){
  String url="url";
  ResponseEntity<Config> response = restTemplate.exchange(
      String.format(url), HttpMethod.GET, null,
      Config.class);
    assertNotNull(response);
}

pom.xml

<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>

Теперь, несмотря на то, что в моем pom есть зависимость от jackson-databind, я получаю эту ошибку:

org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class Config] and content type [application/json;charset=UTF-8]

Я понимаю, что эта ошибка из-за карты, которую я использовал в моемconfig.java.Если я преобразую эту карту в карту>, она исчезнет.поэтому по какой-то причине он не может конвертировать мой пользовательский класс Context в json.Может кто-нибудь помочь?Я использую весеннюю загрузку.Я бы предпочел использовать конвертер http-сообщений, предоставленный Spring / Jackson, вместо того, чтобы писать собственный.

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