Как проверить правильность @RequestHeader при весенней загрузке - PullRequest
0 голосов
/ 27 апреля 2018

Как я могу проверить требуемый заголовок, если он отсутствует или имеет неправильный формат?

    @RequestMapping(value = "/example/{id}", method = RequestMethod.PUT)        
    public ResponseEntity<> update(@RequestHeader(value="last-modified-date") String lastModDate, HttpServletRequest request,
                @RequestBody ReBody rebody, @PathVariable("id") int id) throws Exception{
    // Stuff here...
    }

в формате «lastModDate» нравится «Пн, 28 августа 2017 02:51:09 GMT»

Я хотел бы сделать некоторую пользовательскую проверку атрибута заголовка, т.е.

if (lastModDate == null) {
    throw Exception();
}

или выбросить исключение, когда оно в неправильном формате.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Просто добавьте @Valid аннотацию.

@RequestMapping(value = "/example/{id}", method = RequestMethod.PUT)        
public ResponseEntity<> update(@Valid @RequestHeader(value="last-modified-date") String lastModDate, HttpServletRequest request,
            @RequestBody ReBody rebody, @PathVariable("id") int id) throws Exception{
    // Stuff here...
}

Но вам все равно нужно будет вручную выполнить проверку формата. Или измените тип lastModDate с String на Date или преобразуйте его в timestamp.

0 голосов
/ 27 апреля 2018

Вы уже ответили на свой вопрос. Вы можете просто сделать это, как показано ниже: -

public ResponseEntity<> update(@RequestHeader(value="last-modified-date") String lastModDate, HttpServletRequest request,
            @RequestBody ReBody rebody, @PathVariable("id") int id) throws Exception{

         if (lastModDate == null) {
         throw Exception();
         }

         // Stuff here...

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