Código L ღ ver:
Quando tento ligar com this.http.get
e @GetMapping
eu sou capaz de enviar a chamada para controlador de primavera,
Quando tento mudança a partir this.http.get
de this.http.post
e para @GetMapping
a @PostMapping
Eu não sou capaz de chamar o controlador de primavera /api/v1/basicauth
método.
Como eu estou tendo nome de usuário e senha Eu quero usar PostMapping
única
Meu código como abaixo: -
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 arrancar: -
@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 Prajapati:
Não use FormData (Angular)
como seu controlador está aceitando@RequestBody
o seu formData
deve ser algo como
var formData = {"username": username, "password": password};
Resto vai deserilize automaticamente a UserDetails
classe