【发布时间】:2017-12-24 02:18:23
【问题描述】:
我想发布一个简单的http请求,但是后端收不到参数
export class AppComponent {
isMenuCollapsed$:Observable<boolean>;
constructor(private store:Store<reducers.State>,private http:Http) {
this.isMenuCollapsed$ = this.store.select(reducers.getIsCollapsed);
let body: URLSearchParams = new URLSearchParams();
body.set('username', 'admin');
body.set('password', 'admin');
let head = new Headers({
'Content-Type': 'application/json'
});
http.post('api/user/auth',body).subscribe(v => console.log(v));
}
}
这是我的后端代码:
@RestController
@RequestMapping("/user")
public class TestController {
@GetMapping("/get")
public String test(){
return "hello";
}
@PostMapping("/auth")
public String auth(HttpServletRequest request){
return "username:" + request.getParameter("username") +
"|password:" + request.getParameter("password");
}
}
当我使用常规方法时它起作用了:
但是当我使用 angular http 时,返回 null enter image description here
希望有人能帮帮我,谢谢!!!
【问题讨论】:
-
我认为您的代码不正确,因为在 POST 方法中,您应该保存一个包含在数据模型中以实现持久性的响应主体。这也意味着在你的帖子中你应该为持久性创建一个对象。
-
非常感谢,我只是发布一个对象并在后端代码中添加@RequestBody 注释。 .它工作! ^_^
-
你能选择我的答案,让我们度过愉快的一天吗? :)
标签: angular angular2-http