老师,登录出现了点问题
来源:3-11 API安全机制之登录
进击的中华田园犬
2019-10-08
访问
https://localhost:8080/users/login?username=hello&password=1
报错信息
{"time":1570506200689,"message":"Required request body is missing: public void com.anycl.auth.user.UserController.create(com.anycl.auth.user.UserInfo,javax.servlet.http.HttpServletRequest)"}
controller代码‘
@GetMapping("/login")
public void login(@RequestBody @Validated UserInfo user, HttpServletRequest request) {
UserInfo info = userService.login(user);
request.getSession().setAttribute("user", info);
}
service代码
@Override
public UserInfo login(UserInfo info) {
UserInfo result = null;
User user = userRepository.findByUsername(info.getUsername());
if (user != null && SCryptUtil.check(info.getPassword(), user.getPassword())) {
result = user.buildInfo();
}
return result;
}
写回答
1回答
-
你的Controller的user参数加了@RequestBody注解,这个注解要求请求中的数据应该以Json格式放在请求体body里,而get请求不支持这种。所以只要把这个注解去掉就可以了。
012019-10-10
相似问题