首页 > 解决方案 > Axios 不向服务器端控制器发送标头

问题描述

我对 React Native 世界比较陌生。我在尝试将参数从 React Native 发送到 Spring Boot Controller 时遇到了问题。即使调用了控制器上的方法,参数也始终为空。

这是我的反应代码(带有要发送的硬编码值):

 login(user) {   
 return axios.get(API_URL + 'login',
 { email: 'test', password: 'test' })
 .then(response => {
 console.log('function called')

这是控制器:

@RequestMapping(value = {"/login"}, method = RequestMethod.GET)
public ResponseEntity<?> login(String email, String password) {

    return new ResponseEntity<>(userServiceImpl.getUserByEmail(email).get(), HttpStatus.OK);
}

现在,在调试控制器时,我看到该方法被调用,但它接收到 null。我想我在前端部分做错了,但找不到问题所在。

标签: reactjsspring-bootreact-nativecontrolleraxios

解决方案


我认为您应该使用 post 而不是 get 或者应该尝试在链接中发送参数(即 login/email/:email)或查询(即 login?email=test)而不是使用 get 发送请求正文。你不能为了安全起见,t在url中发送密码作为参数。所以你应该使用post。


推荐阅读