发送POST时我得到null。请有人知道如何在泽西岛使用@HeaderParam
使用Angular传递价值?
我在后端有这个:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Users loginUser(@HeaderParam("username")String username,@HeaderParam("password") String password){
System.out.println("What happen"+userService.loginService(username, password));
return userService.loginService(username, password);
}
并且这在前端,使用Angular:
$scope.getUserFunction = function () {
$http({
method : 'POST',
url : 'http://localhost:8080/JersyBackEnd/resources/login'+data,
contentType:'application/json',
data : {username: "akram",password:"yes"},
})
.then(function(data) {
console.log(data);
});
};
由于空数据,我得到204 任何人都可以帮我,在Jersey中使用HeaderParam,PathParam或FormParm注释吗?
答案 0 :(得分:1)
data
作为请求正文发送。你真正想要的是headers
From the docs:
- 数据 -
{string|Object}
- 要作为请求消息数据发送的数据。- 标头 -
{Object}
- 返回表示要发送到服务器的HTTP标头的字符串的字符串或函数的映射。如果函数的返回值为null,则不会发送标头。函数接受配置对象作为参数。
示例:
$http({
...
headers: {
username: "akram",
password: "yes"
}
})
答案 1 :(得分:0)
使用@HeaderParam
时,必须使用headers: { 'something': 'anything' }
从.JS传递值。正如我现在所知,您正在使用data : {username: "akram",password:"yes"}
。尝试使用headers: { 'something': 'anything' }
代替此。
请尝试标题,希望它能解决您的空问题。