Simpel PUT request, Angular-Spring/java

Permalänk
Medlem

Simpel PUT request, Angular-Spring/java

Hej!

Suttit fast pinsamt lång tid på att få till en enkel put request mellan frontend-backend

Jag har objekt i backend som jag vill ändra en egenskap på

@Entity public class Employee { @Id @GeneratedValue long id; private String name; private String halsning;

Jag vill sätta egenskapen halsning till "Hej" för ett objekt som identifieras genom id med denna PutMapping:

@PutMapping("/api/users/id") public Employee changeHalsning(@RequestParam Long id) { Employee newEmployee = userRepository.getById(id); newEmployee.setHalsning("Hej"); return userRepository.save(newEmployee); }

Och det vill jag göra från min frontend genom :

public changeHalsning(id: number): Observable<any> { return this.http.put<any>(`${this.apiServerUrl}/users/id`, id) }

Ingenting händer i backend, inget felmeddelande eller något kommer heller. Ser ni något galet? misstänker att jag gör något fel i anropet från frontend? Varken put eller post funkar.

Backend-frontend kopplingen verkar funka bra eftersom jag kan hämta all data från backend och presentera i frontend genom dom här två endpointsen som pratar med varandra

Backend:

@RequestMapping("/api/users") public List<Employee> getUsers() { return (List<Employee>) userRepository.findAll(); }

Frontend:

public getUsers(): Observable<any>{ return this.http.get<any>(`${this.apiServerUrl}/users`) }

Supertack på förhand

Permalänk
Medlem

Det är inte så att du har missat en subscribe? Du måste köra subscribe för att trigga observables-flöden.

this.changeHalsning(1).subscribe();