@ Consumes и @Produces просто сообщают, какой тип носителя принимает и возвращает метод HTTP. поэтому, возможно, ваш HTTP-метод потребляет и выдает значение типа носителя, почему бы не использовать оба. на мой взгляд, вы всегда должны использовать оба. в основном на уровне класса, поэтому любой другой метод, который использует или создает другое значение типа носителя, явно переопределяет аннотацию на уровне класса, а также вам не нужно начинать объявлять @Produces или @Consumes для каждого метода в классе, который часто я - кодовый запах.