get Header in jersey from a GET request
11,840
A bit late to answer this, but you can also use @Context annotation to get httpheaders. Eg.
public List<Staff> getWStaff(@Context HttpHeaders httpheaders) {
String token = httpHeaders.getHeaderString("token");
JSONObject jsonObj = new JSONObject(token);
}
Author by
Giacomo Brunetta
Updated on August 10, 2022Comments
-
Giacomo Brunetta over 1 year
From a js page (in angular) I call a REST request, GET method, were I would to pass an header, this is the function that I call from the REST request:
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!!!"); } },
Whithout
headers: Headers,
it works, but I want to pass an important json string:{"idtokenStaff":11,"staffType":{"idstaffType":2,"type":"Dipendente"},"tokenStaff":"88d08m8ve4n8i71k796vajkd01"}
in the Headers. I don't know How I can take this string in Jersey. This is java file in with I have the REST method:@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; } }
Taking header from:
@HeaderParam("token") String token
. How Can I take the element of the header?