`
/**
* Login form
* @param user the user we are trying to log in with
* @return JWT
*/
@PostMapping("/login")
public String login(@RequestBody User user){
System.out.println(user);
return userService.login(user);
}
@Test
@DisplayName("Should Login Successful")
public void shouldLoginSuccessful() throws Exception {
User user = new User( VALID_USERNAME_EXAMPLE, VALID_PASSWORD_INPUT_EXAMPLE );
assertDoesNotThrow(() -> userService.register(user));
assertFalse(userRepository.findAll().isEmpty()); // Verify the list is not empty
assertEquals(1, userRepository.findAll().size()); // Verify there is just one user
String userJson = objectMapper.writeValueAsString(user);
mockMvc.perform(MockMvcRequestBuilders
.post("/login")
.contentType(MediaType.APPLICATION_JSON)
.content(userJson)) // Attach the JSON payload
.andExpect(status().isOk());
}`
我尝试访问端点“/login”,我应该得到 200 响应,但我得到 401 UNAUTHORIZED 响应
您可以向我展示有关 userService 登录功能的更多详细信息吗?
如果您使用 Spring Security,请检查 SpringSecurity 配置。
//ex
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login").permitAll()
.anyRequest().authenticated();
}