Я столкнулся с небольшими трудностями, вышел из системы входа в систему для моего проекта. Проект написан на JAVA, SPRINGBOOT и связан с ANGULAR У меня есть функция входа на сервер, которая возвращает JSON объект, который выглядит следующим образом: {"type": 2, "token": "dab022de 011a 4"} И для дальнейшего тестирования я хочу использовать эти два объекта в angular после того, как я их получу, например: если вы наберете = 2, вы увидите компонент, предназначенный для вас. Если вы наберете = 1, вы увидите другой компонент. Для этого мне действительно нужно записать возвращаемое значение с сервера в объект, например: this. clientType = _________? Добавляет некоторый код, чтобы сделать его более понятным:
код входа в систему на стороне сервера:
@PostMapping("/login")
public ResponseEntity<LoginInfo> login(@RequestParam String email, @RequestParam String password)
throws InvalidLoginException {
ClientSession clientSession = loginSystem.createClientSession(email, password);
if (clientSession == null) {
throw new InvalidLoginException(
String.format("Invalid login with email: %s and password: %s .", email, password));
}
String token = generateToken();
clientSession.accessed();
LoginInfo loginfo;
for (Entry<String, ClientSession> entry : tokensMap.entrySet()) {
if (entry.getValue().getAbsService().getClientId() == clientSession.getAbsService().getClientId()
&& entry.getValue().getAbsService().getRole() == clientSession.getAbsService().getRole()) {
return ResponseEntity.ok(loginfo = new LoginInfo(entry.getValue().getAbsService().getRole(), token));
}
}
tokensMap.put(token, clientSession);
LoginInfo loginInfo = new LoginInfo(clientSession.getAbsService().getRole(), token);
return ResponseEntity.ok(loginInfo);
}
функция входа в typeSqript:
login():void {
let userCredentials = new UserCredentials(this.email, this.password);
let obsJwt = this.authService.authenticateMe(userCredentials);
obsJwt.subscribe(myToken=>{
console.log(myToken);//return {"type":2,"token":"dab022de 011a 4"} for example
localStorage.setItem("token",myToken.any); // here i want to put just the token, its not working too...
this.modeService.mode = this.modeService.LOOGED_IN;
}, err=>{
alert("error: " + err.message);
})
}
В этой функции я не уверен о что-нибудь , я довольно новичок в angular, так что если у вас есть какие-либо общие советы по улучшению, я хотел бы услышать