【发布时间】:2018-05-11 14:47:29
【问题描述】:
我正在尝试从 Angular 应用程序向 srping 启动中创建的 api 发出 http POST 请求。 api 将对象作为参数,当使用带有表单数据或 urlenconde 参数的邮递员执行 url 时,请求完成可以,但使用角度调用该对象没有绑定。
我的角码是:
opciones(): RequestOptionsArgs {
let headers: Headers = new Headers({ 'Content-Type': 'application/json' });
// headers.append('Content-Type', 'application/json');
let options: RequestOptionsArgs = new RequestOptions();
options.headers = headers;
return options;
}
UserById(param: Object): any {
console.log(JSON.stringify(param));
return this._http.post('http://localhost:8080/user/userbyid', JSON.stringify(param), this.opciones()).pipe(
map((res: Response) => {
return res.json();
}),
);
}
我尝试将 param 对象作为 json 发送并且不进行解析,结果是相同的。对象示例:
{"User":"leonardo_alvarez","User2":"Usuario2"}
我的 spging 启动代码是:
public class userObj {
private String user;
private String user2;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getUser2() {
return user2;
}
public void setUser2(String user2) {
this.user2 = user2;
}
}
@Autowired
private REL_UserRepository rel_userRepository;
@PostMapping(path = "/userbyid")
public @ResponseBody List<REL_User> getUser (userObj User){
return rel_userRepository.findByUserid(User.getUser());
}
请求在控制台中执行正常而没有错误。但用户对象保持为空。
有什么建议吗?
谢谢。
【问题讨论】:
-
当您尝试执行此 POST 时,JavaScript 控制台中是否出现错误?
-
嗨,没有请求执行没有错误。我在帖子中添加了一张图片。
标签: angular spring-boot binding