Объект тела запроса не проверяется - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть один REST API, который использует POST-вызов для создания записи, я ожидаю, что определенный объект будет передан в пост-вызове, если чего-то не хватает, я должен сразу отклонить их,

 @RequestMapping(value="/saveEssentialDetails",produces={"application/json"},method=RequestMethod.POST)
ResponseEntity<?> saveEssentialDetails(@ApiParam(value="Body Parameters")@RequestBody @Validated EssentialDetails essentialDetails, BindingResult bindingResult)throws Exception;

и класс Essential Model выглядит следующим образом

    @Data
@NoArgsConstructor
@Document(collection="essentialDetails")
public class EssentialDetails {

    @NotNull
    Integer dpId;
    @Id
    @NotEmpty
    String tpId;
    @NotEmpty
    List<FamousFor> famousFor;
    @NotEmpty
    List<OpenHours> openHours;
    @NotEmpty
    Pictures uploadedImages;
    @NotEmpty
    List<FloorDescription> floorDescriptions;
    @NotEmpty
    List<Outlets> mallOutlets;

}

Но при выполнении почтового вызова с отсутствующими атрибутами мне разрешено делать запись в MongoDB, которую я не хочу сохранятьпоскольку это неправильный запрос, @ Validation не работает для меня, я использую весеннюю загрузку 2.0.6 с MongoDb 4.0.4, любая помощь будет принята с благодарностью.Заранее благодарим

1 Ответ

0 голосов
/ 30 ноября 2018

@Validated может использоваться для проверки объекта с помощью пользовательского объекта проверки.Пример использования:

@RequestMapping(value = "/")
public String request(@Validated(Account.ValidationStepOne.class) Account account)

Вместо использования @Validated используйте @Valid, который проверяет аннотации проверки, которые вы используете в своей сущности.

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