Añadimos la siguiente dependencia:
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20220924</version> </dependency>
Mapeamos el servlet, creamos un actorDAO para acceder a los datos e implementamos el get:
@WebServlet("/Api/*") public class Api extends HttpServlet { private static final long serialVersionUID = 1L; private ActorDAO actorDAO; /** * @see HttpServlet#HttpServlet() */ public Api() { super(); actorDAO = new ActorDAO(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String id = request.getPathInfo(); System.out.println(id); if (id == null) { List<Actor> actores = actorDAO.getActors(); JSONArray actoresJSON = new JSONArray(actores); response.getWriter().append(actoresJSON.toString()); } else { int idActor = Integer.parseInt(id.substring(1)); Actor actor = actorDAO.getActor(idActor); JSONObject actorJSON = new JSONObject(actor); response.getWriter().append(actorJSON.toString()); } } catch (Exception ex) { JSONObject mensaje = new JSONObject(); mensaje.put("Mensaje", "Error en la petición"); mensaje.put("Error", ex); response.getWriter().append(mensaje.toString()); } }
EL POST:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Me mandarán los valores del actor en formato JSON // Tendré que insertarlo en la BD JSONObject mensaje = new JSONObject(); try { String data = request.getReader().lines().collect(Collectors.joining()); JSONObject actorJSON = new JSONObject(data); Actor actor = new Actor(0, actorJSON.getString("first_name"), actorJSON.getString("last_name"), null); if (actorDAO.addActor(actor)) { mensaje.put("Mensaje", "Actor insertado con éxito"); } else { mensaje.put("Mensaje", "Error en la inserción"); } response.getWriter().append(mensaje.toString()); } catch (Exception ex) { mensaje.put("Mensaje", "Error en la petición"); mensaje.put("Error", ex); response.getWriter().append(mensaje.toString()); } }