Я создал модуль входа, используя angular 9. Когда я пытаюсь войти в систему с правильными учетными данными, я получил ответ 200 с json, я проверил его в элементе проверки. Но когда я отлаживаю службу angular, ответ пуст. пожалуйста, помогите мне, почему это происходит?
login.service.ts
load(userLogin : UserLogin): Promise<any> {
return new Promise((resolve, reject) => {
this._http
.post('login',userLogin)
.pipe(
catchError(res => {
resolve();
return throwError(res);
})
)
.subscribe(
(res: any) => {
console.log('result', res);
},
() => {
reject();
},
() => {
resolve();
}
);
});
}
LoginResource. java
@PostMapping
public Map<String, Object> login(@RequestBody @Validated LoginDto loginDto) throws IOException {
log.info("=>Login POST");
UsernamePasswordAuthenticationToken authReq =
new UsernamePasswordAuthenticationToken(loginDto.getEmail(), loginDto.getPassword());
Authentication auth = authenticationManager.authenticate(authReq);
SecurityContextHolder.getContext().setAuthentication(auth);
String jwt = jwtUtils.generateJwtToken(auth);
Registration userDetails = (Registration) auth.getPrincipal();
List<String> roles =
userDetails.getRoles().stream()
.map(Role::getPrivileges)
.flatMap(Collection::stream)
.map(Privilege::getName)
.collect(Collectors.toList());
return new HashMap<String, Object>() {
{
put("token", jwt);
put("id", userDetails.getId());
put("username", userDetails.getUserName());
put("roles", roles);
}
};
}