This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
microservicios_en_java [2020/06/26 08:17] admin |
microservicios_en_java [2020/07/27 19:37] (current) admin |
||
---|---|---|---|
Line 130: | Line 130: | ||
* POST: Añadir información (No es idempotente) | * POST: Añadir información (No es idempotente) | ||
* PUT: Actualizar información o creación de recursos con un id conocido (es idempotente) | * PUT: Actualizar información o creación de recursos con un id conocido (es idempotente) | ||
+ | * DELETE: Borra un elemento | ||
+ | |||
+ | ===== Exponer ficheros planos en java con spring boot ===== | ||
+ | en el directorio src/main/resources/static están expuestos automáticamente | ||
====== Domain Driven design ====== | ====== Domain Driven design ====== | ||
Line 216: | Line 220: | ||
La anotación @Test marca que el método se tiene que ejecutar como test | La anotación @Test marca que el método se tiene que ejecutar como test | ||
- | @SpringRunner dentro de la anotación de junit se crea un puente entre los tests de SpringBoot y Junit | + | @RunWith(SpringRunner.class) dentro de la anotación de junit se crea un puente entre los tests de SpringBoot y Junit |
@SpringBootTest carga todo el contexto de spring para los tests | @SpringBootTest carga todo el contexto de spring para los tests | ||
@AutoConfigureMockMvc configura los mocks | @AutoConfigureMockMvc configura los mocks | ||
Line 248: | Line 252: | ||
@RestController declara la clase para servicios rest | @RestController declara la clase para servicios rest | ||
+ | |||
+ | |||
+ | Cada método de esa clase se puede anotar con el tipo. @GetMapping equilave a @RequestMapping(method=RequestMethod.GET) | ||
+ | |||
@WebMvcTest iniciará el contexto de la aplicación wewb. Sólo carga la capa de controladores | @WebMvcTest iniciará el contexto de la aplicación wewb. Sólo carga la capa de controladores | ||
@MockBean indica a Spring | @MockBean indica a Spring | ||
Line 254: | Line 262: | ||
@GeneratedValue genera automáticamente un valor para el id | @GeneratedValue genera automáticamente un valor para el id | ||
@Column(name= "xxx") establece el nombre de un campo en bbdd a un atributo en java | @Column(name= "xxx") establece el nombre de un campo en bbdd a un atributo en java | ||
+ | @RequestBody se utiliza para recibir los datos de una petición dentro del cuerpo de la petición | ||
+ | @Param se utiliza para recibir los datos de una petición como argumento | ||
+ | @PathVariable se utiliza para recibir los datos de una petición dentro de la url | ||
+ | |||
+ | Para utilizar estas etiquetas hay que declarar las siguientes dependencias en el fichero pom como alternativa a utilizar las dependencias de spring boot | ||
+ | |||
+ | <dependency> | ||
+ | <groupId>org.springframework</groupId> | ||
+ | <artifactId>spring-webmvc</artifactId> | ||
+ | <version>5.2.1.RELEASE</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.springframework</groupId> | ||
+ | <artifactId>spring-web</artifactId> | ||
+ | <version>5.2.1.RELEASE</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>com.fasterxml.jackson.core</groupId> | ||
+ | <artifactId>jackson-databind</artifactId> | ||
+ | <version>2.9.8</version> | ||
+ | </dependency> | ||
+ | |||
+ | === Proyecto web === | ||
+ | |||
+ | Para poder crear una aplicación que escuche conexiones hay que añadir la dependencia | ||
+ | <dependency> | ||
+ | <groupId>org.springframework.boot</groupId> | ||
+ | <artifactId>spring-boot-starter-web</artifactId> | ||
+ | </dependency> | ||
+ | |||
+ | Para poder lanzar un servidor tomcat embebido hay que añadir la siguiente dependencia. Esta dependencia no es necesaria si únicamente se quiere tener un servidor web | ||
+ | <dependency> | ||
+ | <groupId>org.springframework.boot</groupId> | ||
+ | <artifactId>spring-boot-starter-tomcat</artifactId> | ||
+ | </dependency> | ||
+ | |||
+ | |||
+ | === Entity === | ||
+ | Para poder utilizar la anotación @Entity hay que añadir la dependencia | ||
+ | <dependency> | ||
+ | <groupId>org.springframework.boot</groupId> | ||
+ | <artifactId>spring-boot-starter-data-jpa</artifactId> | ||
+ | </dependency> | ||
====== Arquitectura basada en eventos ====== | ====== Arquitectura basada en eventos ====== |