Как отправить заголовки через Axios в приложение Spring-Boot? - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь сделать веб-приложение с SpringBoot и Reactjs.У меня проблемы с управлением JWT.С помощью Почтальона я могу отправить свой заголовок «jwt» и протестировать мое приложение, и оно работает.Но когда я пытаюсь через React, используя

axios.get('URL/logout', { headers: { jwt: localvariable } } )
          .then(response => {
                console.log('Response of logout', response);
                this.setState({isLogged: false});
                console.log('Status after logout', this.state);

            })
            .catch(error => {
                console.log(error);

            });

, я не могу получить заголовок 'jwt' со стороны клиента.Мой код, который обрабатывает запрос от клиента:

    @CrossOrigin("*")

    @RestController
    public class LoginController {

        @RequestMapping("/logout")
            public ResponseEntity<JsonResponseBody> logoutUser(@RequestHeader(value="jwt") String jwt,HttpServletRequest request){
                   System.out.println("My jwt is: "+jwt);
                   return ResponseEntity.status(HttpStatus.OK)
                }
}

, и я просто получаю:

{
"timestamp": 1526311750256,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.ServletRequestBindingException",
"message": "Missing request header 'jwt' for method parameter of type String",
"path": "/logout"
}

Пожалуйста, какие-либо предложения?Может быть, клиенту нужны авторизации для отправки заголовков?Я застрял.Спасибо

1 Ответ

0 голосов
/ 15 мая 2018

У меня получилось.Я должен был создать Axios Istance, и теперь это работает.Спасибо всем

let instance = axios.create();
instance.defaults.headers.common['jwt'] = this.state.jwt;
instance.get('URL/logout')
        .then(response => {
console.log('Response of logout', response);

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