从js页面(角度)我调用REST请求,GET方法,我是否要传递一个头,这是我从REST请求中调用的函数:
allstaffworking: function(_getstaff){
var currentToken = _GetToken();
var Headers = {
token: currentToken.stringtoken
};
console.log("idtoken"+Headers);
if (currentToken !== null) {
$http({
method : 'GET',
headers: Headers,
url : REST_URL+'staff/working'
}).then(function successCallback(response) {
_getstaff(response)
}, function errorCallback(response) {
console.log(response.statusText);
});
} else {
console.log("NON SEI LOGGATO!!!");
}
},
没有headers: Headers,
它可以工作,但我想在Headers中传递一个重要的json字符串:{"idtokenStaff":11,"staffType":{"idstaffType":2,"type":"Dipendente"},"tokenStaff":"88d08m8ve4n8i71k796vajkd01"}
。我不知道如何在泽西岛拿这个字符串。这是java文件,我有REST方法:
@Path("/staff")
public class StaffController {
BaseDao sDao = new StaffDaoImpl();
StaffDao stfDao = new StaffDaoImpl();
TokenStaffDao tsDao = new TokenStaffDaoImpl();
TokenStaff ts = new TokenStaff();
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Staff> getStaff()
{
List<Staff> listOfStaff=sDao.getAll(Staff.class);
return listOfStaff;
}
@GET
@Path("/working")
@Produces(MediaType.APPLICATION_JSON)
@Consumes("application/json")
public List<Staff> getWStaff(@HeaderParam("token") String token) throws JSONException
{
JSONObject jsonObj = new JSONObject(token);
Boolean id = tsDao.getExistence(jsonObj.getInt("idtokenStaff"));
if (id){
List<Staff> listOfWStaff=stfDao.getAllW();
return listOfWStaff;
}
else
return null;
}
}
从@HeaderParam("token") String token
获取标题。我如何获取标题的元素?
答案 0 :(得分:8)
回答这个问题有点晚了,但你也可以使用@Context注释来获取httpheaders。 例如
public List<Staff> getWStaff(@Context HttpHeaders httpheaders) {
String token = httpHeaders.getHeaderString("token");
JSONObject jsonObj = new JSONObject(token);
}