Código L ღ ver:
Cuando intento llamar con this.http.get
y @GetMapping
soy capaz de enviar la llamada al controlador de la primavera,
Cuando trato de cambiar de this.http.get
a this.http.post
y desde @GetMapping
que @PostMapping
no soy capaz de llamar al controlador de la primavera /api/v1/basicauth
método.
Como estoy teniendo nombre de usuario y la contraseña que quiero usar PostMapping
solamente
Mi código de la siguiente manera: -
Angular
var formData: any = new FormData();
formData.append("userName", username);
formData.append("password", password);
let params = new HttpParams();
params = params.append('username', username);
params = params.append('password', password);
return this.http.post<any>('/api/v1/basicauth', { formData }).pipe(map((res) => {
this.username = username;
this.password = password;
}));
Primavera de arranque: -
@PostMapping(path = "/basicauth")
public AuthenticationBean helloWorldBean(@RequestBody UserDetails user) {
log.info("Start helloWorldBean method");
UserDetails.java
public class UserDetails {
private int userId;
private String userName;
private String password;
}
Yogesh Prajâpati:
No utilice FormData (Angular)
como su controlador está aceptando@RequestBody
su formData
debe ser algo como
var formData = {"username": username, "password": password};
Resto deserilize automáticamente a UserDetails
la clase