@Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Movie movie; try { movie = gson.fromJson(req.getReader(), Movie.class); } catch (Exception ignore) { resp.setStatus(SC_BAD_REQUEST); return; } if (!isMovieValid(movie) || movie.getId() != null) { resp.setStatus(SC_BAD_REQUEST); return; } Long id = service.addMovie(movie); resp.setContentType("application/json"); resp.setCharacterEncoding("UTF-8"); JsonWriter jsonWriter = gson.newJsonWriter(resp.getWriter()); jsonWriter.beginObject().name("id").value(id).endObject(); jsonWriter.close(); }