Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.85 KB | None | 0 0
  1.     @GET
  2.     @Path("/{id:[0-9][0-9]*}")
  3.     @Produces("application/json")
  4.     public Response findById(@PathParam("id") Long id, @Context Request request) {
  5.         TypedQuery<User> findByIdQuery = em
  6.                 .createQuery(
  7.                         "SELECT DISTINCT u FROM User u WHERE u.id = :entityId ORDER BY u.id",
  8.                         User.class);
  9.         findByIdQuery.setParameter("entityId", id);
  10.         User entity;
  11.         try {
  12.             entity = findByIdQuery.getSingleResult();
  13.         } catch (NoResultException nre) {
  14.             entity = null;
  15.         }
  16.         CacheControl cacheControl = new CacheControl();
  17.         cacheControl.setMaxAge(86400);
  18.        
  19.         EntityTag etag = new EntityTag(Integer.toString(entity.hashCode()));
  20.         ResponseBuilder builder = request.evaluatePreconditions(etag);
  21.        
  22.         if (builder == null) {
  23.             builder = Response.ok(entity);
  24.             builder.tag(etag);
  25.         }
  26.         builder.cacheControl(cacheControl);
  27.         return builder.build();
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement