【发布时间】:2020-05-29 22:36:08
【问题描述】:
当我尝试使用this.http.get 和@GetMapping 拨打电话时,我可以将电话发送到弹簧控制器,
当我尝试从this.http.get 更改为this.http.post 以及从@GetMapping 更改为@PostMapping 时,我无法调用弹簧控制器/api/v1/basicauth 方法。
因为我有用户名和密码,所以我只想使用PostMapping
我的代码如下:-
角度
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;
}));
春季启动:-
@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;
}
【问题讨论】:
-
试试“{username, password}”而不是“{formData}”作为“body”参数怎么样?
-
@happyZZR1400 我可以通过 this.http.get 使用 body 参数来调用 spring 控制器
-
如果你尝试对“this.http.post”做同样的事情会发生什么?
-
你休息是为 GET 实现的,而不是你为什么从 angular 发送帖子?
-
@happyZZR1400 我无法使用
this.http.post拨打电话
标签: java angular spring spring-boot http