Saltar la navegación

Ejercicio 4: CRUD

Objetivos

  • Construir un servicio Web "PersonaRecurso" que permita realizar las operaciones CRUD sobre datos de personas.

Arquitectura

ejercicio 4 arquitectura REST

Instrucciones

  • Crea un proyecto Dynamic Web Project. Lo llamaremos "rest_ejercicio3_CRUD"
    • Check en Descriptor de Despliegue (web.xml)
  • Copia los paquetes DAO, modelo y serviciosrest.persona del ejercicio anterior (rest_ejercicio2_formato) y pegados en el directorio "src" de este proyecto
  • En el fiero web.xml, copia el contenido del web.xml del ejercicio est_ejercicio2_formato
  • Elimina las clases dentro del paquete serviciosrest.persona
  • Crea el servicio Web:
    • Crea la clase PersonaRecurso.java en el paquete serviciosrest.persona
    • Implementa los métodos:
      • getPersonas (Path del método: ninguno)
      • getPersonaByPathParam(int id) (Path del método: /{id})
      • getPersinaByQueryParam(int id) (Path del método: /query)
      • guardarUsuario(Persona p) (Path del método: /add)
      • actualizarUsuario(int id) (Path del método: /update)
      • eliminarUsuario(int id) (Path del método: /delete/{id})

Dependencias con MAVEN

<dependencies>

		<!-- BASE DE DATOS -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.21</version>
		</dependency>
		<!-- JSTL -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
		</dependency>
		<!-- JAXB -->
		<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.3.1</version>
		</dependency>
		<!-- PERSISTENCIA -->
		<!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
		<dependency>
			<groupId>javax.persistence</groupId>
			<artifactId>javax.persistence-api</artifactId>
			<version>2.2</version>
		</dependency>
		<!-- EclipseLink -->
		<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink -->
		<dependency>
			<groupId>org.eclipse.persistence</groupId>
			<artifactId>eclipselink</artifactId>
			<version>2.5.2</version>
		</dependency>
		<!-- SERVICIO WEB REST -->
		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet</artifactId>
			<version>2.31</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.inject</groupId>
			<artifactId>jersey-hk2</artifactId>
			<version>2.28</version>
		</dependency>
		<!-- Javax JSON Bind API -->
		<!-- https://mvnrepository.com/artifact/javax.json.bind/javax.json.bind-api -->
		<dependency>
			<groupId>javax.json.bind</groupId>
			<artifactId>javax.json.bind-api</artifactId>
			<version>1.0</version>
		</dependency>
		<!-- Jackson para MessageBodyWriter -->
		<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson -->
		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-json-jackson</artifactId>
			<version>2.31</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		
	</dependencies>

Creado con eXeLearning (Ventana nueva)