【发布时间】:2021-03-10 05:42:04
【问题描述】:
我在 Springboot 中对我的后端进行 axios 调用时收到 431 错误,我不知道为什么。我的 Vue 前端在 3000 端口上运行,我的 Tomcat 服务器在 8080 端口上。我需要做些什么来配置更小的标头吗?
axios 调用 -
submit() {
axios.post('/api/v1/auth/sign-in', {
email: this.email,
password: this.password,
staySignedIn: this.staySignedIn
})
.then(function(res) {
if(res.data.code === 200) {
this.router.push('/dashboard')
}
else {
this.msg = response.message;
}
})
.catch(function(err) {
this.msg = 'error';
})
}
登录控制器 -
@Controller
@RestController
@RequestMapping("/api/v1/auth")
public class LoginController {
@Autowired
UserService userService;
@PostMapping("/sign-in")
public String signIn(@RequestBody User user) {
User userEmailExists = userService.findUserByEmail(user.getEmail());
// Test
if(userEmailExists.getEmail().isEmpty()) {
return "Nothing";
}
else {
return "SignIn";
}
}
}
我的安全 -
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/api/v1/auth/sign-in")
.defaultSuccessUrl("/dashboard", true)
.permitAll()
.and()
.logout().deleteCookies("JSESSIONID")
.and()
.rememberMe().key("uniqueAndSecret");
http.cors();
}
【问题讨论】:
-
网络浏览器控制台中的请求是什么样子的
-
@Toerktumlare 不确定您的意思,这就是我在控制台中看到的全部内容 - POST localhost:3000/api/v1/auth/sign-in 431(请求标头字段太大)
-
如果你在浏览器中按 F12 并在 chrome 中选择“网络”,你可以看到所有请求,在那里你会发现你的请求和响应是什么样的
-
@Toerktumlare 我在上面添加了一张图片
标签: spring-boot vue.js spring-security