При использовании модуля Http используется такая конструкция:
HTTP-сервис:
let tokenUrl1 = this.apiUrl + 'login';
let headers1 = new Headers({'Content-Type': 'application/json'});
return this.http.post(tokenUrl1, JSON.stringify(model), {headers: headers1});
Вызов службы:
this.loginService.sendCredential(this.model).subscribe(
data => {
// Next statement ... how to convert this for use in an HttpClint environment??
localStorage.setItem("token", JSON.parse(JSON.stringify(data))._body);
Хороший модуль HttpClient анализирует тело содержимого http с помощью JSON, возвращающего объект. Хороший!
Как можно переписать отмеченный оператор «JSON.parse (JSON.stringify (данные)) ._ тело)», чтобы он хорошо вписался в среду HttpClient?
Это утверждение было в курсе по соединению Spring Boot и Angular с безопасностью JWT. Отлично работает год. Но я не могу использовать его в среде HttpClient. Когда я вижу в Интернете, это особая (глубокая копия?) Конструкция. Вот почему я задал вопрос.

Вы можете использовать ответ как объект JSON напрямую, чтобы получить подобное значение.
this.loginService.sendCredential(this.model).subscribe(
data => {
let res = data.json();
let tokenValue = res['token']; // based on your json response...
localStorage.setItem("token", tokenValue);
}
И если вы используете api-call с типом, тогда ... (из Angular Doc)
showConfig() {
this.configService.getConfig()
.subscribe((data: Response) => {
// like data.xyz properties of 'Reponse' class
// here you can get values from Your 'Reponse' class directly instead of parsing as above.
});
}
Надеюсь это поможет.
Спросите меня, если какой-либо вопрос.
Сообщение HttpClient возвращает объект напрямую. В подобных случаях мне не приходилось выполнять data.json (). Итак, я полагаю, что на этот раз json () не нужен / не нужен в HttpClient?
Если вы используете тип с api-call. тогда вы можете сослаться на официальный документ angular.io/guide/http#getting-json-data.
Спасибо, пожалуйста, уточните в своем ответе, что вы имеете в виду под «использованием типа с вызовом api. Обычно я ожидаю типизированных вызовов api с синтаксисом типа httpClient.get <UserResponse> (...)».
Вы можете добавить наблюдение в шапку.
let tokenUrl1 = this.apiUrl + 'login';
let headers1 = new Headers({'Content-Type': 'application/json'});
return this.http.post(tokenUrl1, JSON.stringify(model), {
headers: headers1,
observe: 'response'
});
И
this.loginService.sendCredential(this.model).subscribe(
data => {
console.info(data.body);
Вы можете управлять возвращаемым типом строки - этого достаточно, например, для жетоны:
let tokenUrl2 = this.apiUrl + 'users';
let getHeaders = new HttpHeaders({'Authorization':'Bearer '+token});
return this.httpClient.get(tokenUrl2, { observe: 'body', responseType: 'text', headers: getHeaders})
data._body? Зачем вы структурируете и разбираете?