@POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces("application/json") public Response createTimezone( @HeaderParam("token") String tokenString, @FormParam("idUser") Long idUser, @FormParam("name") String name, @FormParam("city") String city, @FormParam("hourDiff") int hourDiff) { try { JSONObject jsonObject = new JSONObject(); if (idUser == null || name == null || name.isEmpty() || city == null || city.isEmpty() || hourDiff < -12 || hourDiff > 13) { jsonObject.put("Response", "missing or incorrect parameters"); return Response.status(Response.Status.BAD_REQUEST) .entity(String.valueOf(jsonObject)) .build(); } String tokenVerified = verifyToken(tokenString, idUser); if (tokenVerified == null) { return Response.status(Response.Status.UNAUTHORIZED).build(); } else if (!tokenVerified.equals("OK")) { jsonObject.put("Response", tokenVerified); return Response.status(Response.Status.UNAUTHORIZED) .entity(String.valueOf(jsonObject)) .build(); } else { String result = timezoneDAO.createTimezone(idUser, name, city, hourDiff); jsonObject.put("Response", result); if (result.equals("Timezone alredy exists")) { return Response.status(Response.Status.CONFLICT) .entity(String.valueOf(jsonObject)) .build(); } else if (result.equals("Non existent user")) { return Response.status(Response.Status.BAD_REQUEST) .entity(String.valueOf(jsonObject)) .build(); } return Response.status(Response.Status.CREATED).entity(String.valueOf(jsonObject)).build(); } } catch (Exception ex) { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } }