Вы не можете получить доступ к полям компонента в сервисе. Вам необходимо каким-то образом передать ответ службы, и только тогда вы сможете использовать этот ответ и на основе этого значения присваивать сообщение и отображать его в своем html.
Я думаю, вам следует использовать обратный вызов, в который вы обернете ответ на запрос http и будете использовать его на внешнем уровне обслуживания.
signIn(username: string, password: string, data:any) {
const formData = ...
this.http.post(`${this.uri}`, formData, httpOptions)
.subscribe(response => {
data(response);
}, error => data(// do something here);
}
теперь используйте это как-то так (в компоненте, я думаю):
message: String;
this.restService.signIn(userName, password, response => {
if(response && response.hasOwnProperty('statusCode')) {
if (response['statusCode'] === '0') {
this.message = 'test';
} else {
this.message = 'test2';
}
}
});
теперь вы можете использовать сообщение в html
{{message}}
Примечание
Вы всегда должны использовать сервисный уровень только для передачи данных (если это сервис rest / api), бизнес-логика или манипулирование данными должны использоваться на некотором промежуточном уровне сервиса или компонента.
Таким образом, вы можете сделать общий сервис отдыха и использовать его во всех приложениях, вам просто нужно передать тело запроса, URL и объект обратного вызова.
Если вы собираетесь писать логику в сервисе, вам придется писать отдельный сервис для каждого вызова API.