从GET请求获得球衣中的标题

时间:2016-12-15 22:55:07

标签: java angularjs json rest jersey

从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获取标题。我如何获取标题的元素?

1 个答案:

答案 0 :(得分:8)

回答这个问题有点晚了,但你也可以使用@Context注释来获取httpheaders。 例如

public List<Staff> getWStaff(@Context HttpHeaders httpheaders) {
   String token = httpHeaders.getHeaderString("token");
    JSONObject jsonObj = new JSONObject(token);
}