У меня есть 2 текстовых поля на моей странице и одна кнопка для суммирования. Я отправляю свои номера на сервер и получаю 404 и HttpErrorResponse. Мой сервер принимает эти значения, но не отправляет ответ. Я хотел бы получить свою ценность с сервера.
Мой метод в контроллере.
@CrossOrigin(origins = "http://localhost:4200")
@GetMapping("/greeting")
public String greeting(@RequestParam String num1, @RequestParam String num2) {
int sum = 0;
System.out.println("num1 = "+num1);
System.out.println("num2 = "+num2);
try{
int n1 = Integer.parseInt(num1);
int n2 = Integer.parseInt(num2);
sum = n1+n2;
System.out.println("sum ="+sum);
}
catch (Exception|Error e){
e.printStackTrace();
}
return Integer.toString(sum);
}
Angular Компоненты:
import { Component, OnInit } from '@angular/core';
import { CalculateService } from './calculate.service';
@Component({
selector: 'app-testsum',
templateUrl: './testsum.component.html',
styleUrls: ['./testsum.component.css'],
providers: [ CalculateService]
})
export class TestsumComponent implements OnInit {
sum:number;
num1:number;
num2:number;
done:boolean=false;
constructor(private calculateService: CalculateService) { }
submit(){
let rez = this.calculateService.getSum(this.num1, this.num2).subscribe(data => this.sum);
console.log("rez = "+rez);
console.log("sum = "+this.sum);
}
ngOnInit(): void {
}
}
Сервис:
import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';
@Injectable()
export class CalculateService{
constructor(private http: HttpClient){ }
getSum(num1: number, num2: number){
return this.http.get('http://localhost:8090/greeting?num1=' + num1 + "&num2=" + num2);
}
}