Como lidar com o tipo de conteúdo incompatível em Jersey

Eu continuo recebendo erros do formulário:

java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded

Então, eu tentei me defender contra esse erro, como abaixo:

@Path("auth")
@Produces(MediaType.APPLICATION_JSON)
public class Auth {

@POST
@Path("login")
@Consumes(MediaType.WILDCARD)
public Response create()
{
    return Response.status(Status.UNSUPPORTED_MEDIA_TYPE).build();
}

@POST
@Path("login")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response create(@Valid @NotNull @FormParam("username") final String username,
        @Valid @NotNull @FormParam("password") final String password)
{

No entanto, isso não evita o problema. As mensagens de log FINE geradas são muito spam.

Eu tenho duas perguntas:

Por que o método mais genérico não é chamado quando o Content-Type está vazio?Como impedir que o método real seja chamado, quando ele não corresponde aos seus @Consumes, para evitar spam de log?

O ambiente está executando o Grizzly 2.3.28, Jersey 2.25.1, MOXy 2.7.1

questionAnswers(1)

yourAnswerToTheQuestion