title: Spring boot starter data rest, @Notnull constraint not working
body: <p>I am trying to add @NotNull constraint into my Person object but I still can @POST a new Person with a null email. I am using Spring boot rest with MongoDB.</p>
  
  <p>Entity class:</p>
  
  <pre><code>import javax.validation.constraints.NotNull;
  
  public class Person {
      @Id 
      private String id;
      private String username;
      private String password;
      @NotNull // &lt;-- Not working
      private String email;
      // getters &amp; setters
  }
  </code></pre>
  
  <p>Repository class:</p>
  
  <pre><code>@RepositoryRestResource(collectionResourceRel = "people", path = "people")
  public interface PersonRepository extends MongoRepository&lt;Person, String&gt; {
  }
  </code></pre>
  
  <p>Application class:</p>
  
  <pre><code>@SpringBootApplication
  public class TalentPoolApplication {
      public static void main(String[] args) {
          SpringApplication.run(TalentPoolApplication.class, args);
      }
  }
  </code></pre>
  
  <p>pom.xml</p>
  
  <pre><code>...
  &lt;parent&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
      &lt;version&gt;1.4.0.BUILD-SNAPSHOT&lt;/version&gt;
      &lt;relativePath/&gt; &lt;!-- lookup parent from repository --&gt;
  &lt;/parent&gt;
  
  &lt;properties&gt;
      &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
      &lt;java.version&gt;1.8&lt;/java.version&gt;
  &lt;/properties&gt;
  
  &lt;dependencies&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-data-mongodb&lt;/artifactId&gt;
      &lt;/dependency&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-data-rest&lt;/artifactId&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
          &lt;scope&gt;test&lt;/scope&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  ...
  </code></pre>
  
  <p>When I @POST a new object via Postman like:</p>
  
  <pre><code>{
    "username": "deadpool",
    "email": null
  }
  </code></pre>
  
  <p>I still get <code>STATUS 201</code> created with this payload:</p>
  
  <pre><code>{
      "username": "deadpool",
      "password": null,
      "email": null
       ....
       ....
  }
  </code></pre>