Не игнорируйте нераспознанные поля JSON с помощью Springboot & Jackson - PullRequest
0 голосов
/ 29 августа 2018

У меня есть веб-сервис отдыха, написанный с использованием Springboot.

@PostMapping("testMe2")
public String testMe2(@RequestBody TestInBean testInBean) {
    Log.info(this, "testMe : " + testInBean);
    return "SUCCESS";
}

Вот мой класс TestInBean

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;

@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties
public class TestInBean extends GenericInBean {
    private String param1;
    private String param2;
    private Integer param3;
}

Когда я вызываю http://localhost:8090/myApp/api/v1/testMe2 с помощью ввода

{"param1":"Hello","paramxx":10}

тихо игнорирует ошибку, регистрируясь DeserializationProblemHandler: в классе TestInBean

не существует свойства с именем 'param22'

Как сгенерировать ошибку при передаче неизвестного параметра?

Примечание:

Я могу добавить приведенный ниже код в класс Application.java моей весенней загрузки, чтобы показать ошибку при передаче неизвестного параметра.

@Bean
    public Jackson2ObjectMapperBuilder mapperBuilder() {
        return new Jackson2ObjectMapperBuilder().failOnUnknownProperties(true);
    }

Но мне нужно, чтобы это работало только с конкретным методом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...