Как я могу установить переменную на моем микросервисе, который выбран из Angular - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема. Как я могу установить переменную в моем микросервисе, которая выбрана из Angular? У меня есть этот код:

Услуги:

private httpOptions = {headers: new HttpHeaders({'Content-Type': 'application/json'})};
private dateUrl = '//localhost:8085/dates';

constructor(private http: HttpClient) {
}

setDate(date: Dates) {
  return this.http.post(this.dateUrl, date, this.httpOptions);
}

и контроллер:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController

public class DateController {

    @Autowired
    private DateService dateService;

    @CrossOrigin(origins = "http://localhost:4200")
    @RequestMapping(method = RequestMethod.GET ,value = "/dates")
    public Dates newDate(@RequestBody Dates dates) {
        dateService.setDate(dates);
        return this.dateService.getDate();
    } 
}

У кого-нибудь есть разрешение или подсказка?

Редактировать: Это классы для понимания

Класс обслуживания

@Service
    public class DateService {
    private Dates date;
    private Date from;
private Date to;

@PostConstruct
public void init(){
    date= new Dates(from,to);
}

public Dates getDate() {
    return date;
}

public void setDate(Dates date) {
    this.date = date;
}
}

Дата урока:

public class Dates {
    private Date from;
    private Date to;

public Dates(Date from, Date to) {
    this.from = from;
    this.to = to;
}

public Date getFrom() {
    return from;
}

public void setFrom(Date from) {
    this.from = from;
}

public Date getTo() {
    return to;
}

public void setTo(Date to) {
    this.to = to;
}
}

Вот класс компонентов:

export class DateComponent implements OnInit {
  dateRange = new Dates;

  constructor(private dateService: DateService) {
  }

  ngOnInit() {
    this.setDate();
  }

  setDate(): void {
    this.dateService.setDate(this.dateRange);
  }


}

Я все перепробовал ... Пожалуйста, помогите мне, ребята

1 Ответ

0 голосов
/ 11 сентября 2018

Ваш метод setDate из угловых возвратов Observable из вызова http.post.Observable не содержит сам результат, поэтому для его использования необходимо подписаться на результат, например

this.dateService.setDate(this.dateRange).subscribe( finalResult => {
  this.dateRange = finalResult;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...