Post

Spring Rest

Spring Rest

Crear un proyecto simple rest con un servicio:

  • Crear un proyecto multimodulo
  • Configurar para escanear otros módulos
  • Crear controller, service genérico.
  • Crear Dto

Prerequisitos

Al ser un proyecto multimodulo los componentes están en otras rutas al main. Se indica a spring que busque en todas las librerías de un determinado paquete.

1
@SpringBootApplication(scanBasePackages = "com.example.spring.modulith")

Crear controller, service

Creamos el controller genérico para Customer

1
2
3
4
5
6
7
8
9
@RestController
@RequestMapping("/api/customer")
public class CustomerController
		extends AbstractRestController<CustomerRequest, CustomerResponse, CustomerFilter, CustomerUpdate> {

	public CustomerController(CustomerService service) {
		super(service);
	}
}

Creamos el servicio genérico Customer

1
2
3
4
@Service
@Slf4j
public class CustomerService implements CrudService<CustomerRequest, CustomerResponse, CustomerFilter, CustomerUpdate> {
}

La llamada por defecto dará un error no controlado porque no existe implementación espefíca y lanza el error de la interfaz por defecto:

1
This post is licensed under CC BY 4.0 by the author.