title: Jersey: @Consumes doesn't quite work when content-type is not set
body: <p>I'm trying to figure out how @Consumes works here.</p>
  
  <p>I have a simplified resource that looks like the below, and I only want this resource to consume "application/vnd.myApp+xml". </p>
  
  <pre><code>@Path("/app")
  @Consumes("application/vnd.myApp+xml")
  @Produces("application/vnd.myApp+xml")
  public class AppResource {
      @POST
      public Response postStuff() {
          ...
      }
  }
  </code></pre>
  
  <p>I have the following testcases:-</p>
  
  <pre><code>public class AppResourceTest extends JerseyTest {
      @Test
      public void testApp() {
          // #1: Works fine
          ClientResponse response = resource().path("app")
                      .accept("application/vnd.myApp+xml")
                      .post(ClientResponse.class);
  
          ...
  
          // #2: Throws a 415 Unsupported Media Type
          ClientResponse response = resource().path("app")
                      .accept("application/vnd.myApp+xml")
                      .type("text/plain")
                      .post(ClientResponse.class);
  
          ...
  
          // #3: Works fine
          ClientResponse response = resource().path("app")
                      .accept("application/vnd.myApp+xml")
                      .type("application/vnd.myApp+xml")
                      .post(ClientResponse.class);
  
          ...
      }
  }
  </code></pre>
  
  <p>From the 3 tests above, #2 and #3 work as expected. </p>
  
  <p>As for #1, if I don't set the content-type, why doesn't it throw a 415 too?</p>