title: No converter found for return value of type
body: <blockquote>
    <p><strong>Model</strong> class (getters and setters ommitted for brevity)</p>
  </blockquote>
  
  <pre><code>import javax.persistence.*;
  import java.io.Serializable;
  import java.time.LocalDate;
  
  
  @Entity
  @Table(name = "users")
  public class User implements Serializable {
  
  @Id
  @GeneratedValue
  @Column(name = "id")
  private Long id;
  
  @Column(name = "first_name")
  private String firstName;
  
  @Column(name = "last_name")
  private String lastName;
  
  @Column(name = "birthday")
  private LocalDate birthday;
  
  @Column(name = "login")
  private String login;
  
  @Column(name = "password")
  private String password;
  
  @Column(name = "info")
  private String info;
  
  @ManyToOne(targetEntity = UserAddress.class, fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
  @JoinColumn(name = "address_id")
  private UserAddress homeAddress;
  
  
  public User() {
  }
  
  public User(String firstName, String lastName, LocalDate birthday, String login, String password, String info, UserAddress homeAddress) {
      this.firstName = firstName;
      this.lastName = lastName;
      this.birthday = birthday;
      this.login = login;
      this.password = password;
      this.info = info;
      this.homeAddress = homeAddress;
  }
  
  public Long getId() {
      return id;
  }
  
  public void setId(Long id) {
      this.id = id;
  }
  
  public String getFirstName() {
      return firstName;
  }
  
  public void setFirstName(String firstName) {
      this.firstName = firstName;
  }
  
  public String getLastName() {
      return lastName;
  }
  
  public void setLastName(String lastName) {
      this.lastName = lastName;
  }
  
  public LocalDate getBirthday() {
      return birthday;
  }
  
  public void setBirthday(LocalDate birthday) {
      this.birthday = birthday;
  }
  
  public String getLogin() {
      return login;
  }
  
  public void setLogin(String login) {
      this.login = login;
  }
  
  public String getPassword() {
      return password;
  }
  
  public void setPassword(String password) {
      this.password = password;
  }
  
  public String getInfo() {
      return info;
  }
  
  public void setInfo(String info) {
      this.info = info;
  }
  
  public UserAddress getHomeAddress() {
      return homeAddress;
  }
  
  public void setHomeAddress(UserAddress homeAddress) {
      this.homeAddress = homeAddress;
  }
  
  @Override
  public String toString() {
      return "User{" +
              "id=" + id +
              ", firstName='" + firstName + '\'' +
              ", lastName='" + lastName + '\'' +
              ", birthday=" + birthday +
              ", login='" + login + '\'' +
              ", password='" + password + '\'' +
              ", info='" + info + '\'' +
              ", homeAddress=" + homeAddress +
              '}';
      }
  }
  </code></pre>
  
  <blockquote>
    <p><strong>Controller</strong> class</p>
  </blockquote>
  
  <pre><code>@RequestMapping(value = "/rest")
  @RestController
  public class RestUserController {
      @GetMapping(value = {"/test"})
      public ResponseEntity&lt;User&gt; getUser() {
          User user = new User();
          return new ResponseEntity&lt;&gt;(user, HttpStatus.OK);
      }
  }
  </code></pre>
  
  <blockquote>
    <p><strong>Configuration</strong> class</p>
  </blockquote>
  
  <pre><code>@Configuration
  public class SpringWebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configureMessageConverters(List&lt;HttpMessageConverter&lt;?&gt;&gt; converters) {
      converters.add(new MappingJackson2HttpMessageConverter());
      super.configureMessageConverters(converters);
    }
  } 
  </code></pre>
  
  <blockquote>
    <p><strong>Maven POM</strong></p>
  </blockquote>
  
  <pre><code>    &lt;!--JACKSON--&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
          &lt;artifactId&gt;jackson-annotations&lt;/artifactId&gt;
          &lt;version&gt;2.8.7&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
          &lt;artifactId&gt;jackson-databind&lt;/artifactId&gt;
          &lt;version&gt;2.8.7&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
          &lt;artifactId&gt;jackson-core&lt;/artifactId&gt;
          &lt;version&gt;2.8.7&lt;/version&gt;
      &lt;/dependency&gt;
      //....
  
      &lt;!--SPRING--&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-web&lt;/artifactId&gt;
          &lt;version&gt;4.3.2.RELEASE&lt;/version&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt;
          &lt;version&gt;4.3.2.RELEASE&lt;/version&gt;
      &lt;/dependency&gt;
      //....
  </code></pre>
  
  <p>However, invoking the REST endpoint throws the error <code>No converter found for return value of type...</code></p>
  
  <pre><code>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class com.models.users.User
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
      org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
      org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  </code></pre>
  
  <p>Please help, where can I find more information to resolve this error?</p>