gpt4 book ai didi

java - 如何通过 Axios 将 header 发送到 Spring-Boot 应用程序?

转载 作者:行者123 更新时间:2023-11-30 07:46:50 29 4
gpt4 key购买 nike

我正在尝试使用 SpringBoot 和 Reactjs 制作一个网络应用程序。我在管理 JWT 时遇到问题。通过使用 Postman,我可以发送我的 header “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);

});

我无法从客户端接收到任何 header “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"
}

请问有什么建议吗?也许客户端需要授权才能发送 header ?我卡住了。谢谢

最佳答案

我成功了。我必须创建一个 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);

});

关于java - 如何通过 Axios 将 header 发送到 Spring-Boot 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50334147/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com