Массовое назначение: небезопасная конфигурация связывателя (ошибка Fortify) после добавления аннотации @JsonProperty

Я получаю Массовое назначение: небезопасная конфигурация подшивки в усиленном анализе.

Вот AuthorisationController.class

@Controller
public class AuthorisationController {

    @RequestMapping(value = "/authorisation_request", method = RequestMethod.POST,
                produces = MediaType.APPLICATION_JSON_VALUE)
        @ResponseBody
        public ResponseEntity<AuthorisationRequest> createAuthorisation(HttpServletRequest request,
                @RequestBody AuthorisationRequestInfo createAuthorisation) {
        //processing code
    }
}

Вот класс AuthorisationRequestInfo.class, на который будут отображаться параметры HTTP-запроса.

import com.fasterxml.jackson.annotation.JsonProperty;

public class OrderAuthorisationRequestInfo {


private String hashValue;
private String expiryDateTime;
private Integer initiatingRolePlayerId;

@JsonProperty("feedbackURI")
private String feedbackUri;

/**
 * Gets the hash value.
 *
 * @return the hash value
 */
public String getHashValue() {
    return hashValue;
}

/**
 * Sets the hash value.
 *
 * @param hashValue the new hash value
 */
public void setHashValue(String hashValue) {
    this.hashValue = hashValue;
}

/**
 * Gets the expiry date time.
 *
 * @return the expiry date time
 */
public String getExpiryDateTime() {
    return expiryDateTime;
}

/**
 * Sets the expiry date time.
 *
 * @param expiryDateTime the new expiry date time
 */
public void setExpiryDateTime(String expiryDateTime) {
    this.expiryDateTime = expiryDateTime;
}

/**
 * Gets the initiating role player id.
 *
 * @return the initiating role player id
 */
public Integer getInitiatingRolePlayerId() {
    return initiatingRolePlayerId;
}

/**
 * Sets the initiating role player id.
 *
 * @param initiatingRolePlayerId the new initiating role player id
 */
public void setInitiatingRolePlayerId(Integer initiatingRolePlayerId) {
    this.initiatingRolePlayerId = initiatingRolePlayerId;
}

/**
 * Gets the feedback URI.
 *
 * @return the feedback URI
 */
public String getFeedbackUri() {
    return feedbackUri;
}

/**
 * Sets the feedback URI.
 *
 * @param feedbackUri the new feedback URI
 */
public void setFeedbackUri(String feedbackUri) {
    this.feedbackUri = feedbackUri;
}
}

Интересно то, что я только начал получать аннотацию к этой ошибке после добавления @JsonProperty ("feedbackURI") в столбце feedbackUri.

@InitBinder ранее не использовался, и ошибки fortify не было, и все параметры в запросе являются обязательными.

Все остальные API-интерфейсы в порядке и не сообщают о проблемах с фортификацией. Только этот api и еще один, в который был добавлен @JsonProperty, начали показывать эту ошибку.

Массовое назначение: небезопасная конфигурация связывателя (ошибка Fortify) после добавления аннотации @JsonProperty

Любая помощь будет оценена.

Вы сохраняете этот фейлд в БД? Если да, то есть ли у вас картограф и сущность. Я столкнулся с проблемой симулятора, но в моем коде я беру тот же файл в БД. \ Затем я использовал JMapper, чтобы сопоставить его с классом сущности, а затем сохранить его в БД

RaVin 13.05.2019 04:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
3 311
1

Ответы 1

В вашем случае вы можете использовать @JsonIgnoreProperties:

@JsonIgnoreProperties(ignoreUnknown = true)
public class OrderAuthorisationRequestInfo {

Другие вопросы по теме