This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
backend_java_-_spring_-_tomcat_-_mysql [2017/12/29 10:15] admin |
backend_java_-_spring_-_tomcat_-_mysql [2017/12/29 12:47] (current) admin |
||
---|---|---|---|
Line 34: | Line 34: | ||
Para permitir un Crud se definirá un CrudRepository que extiende el CrudRepository de Spring. Se guardará un SectionRepository en src/main/java/com/testSrping/demoArtifact/repository. El repositorio debe extender de JpaRepository<UserEntity, Integer> | Para permitir un Crud se definirá un CrudRepository que extiende el CrudRepository de Spring. Se guardará un SectionRepository en src/main/java/com/testSrping/demoArtifact/repository. El repositorio debe extender de JpaRepository<UserEntity, Integer> | ||
+ | Es posible exponer un repositorio como un servicio mediante la anotación @RepositoryRestResource(itemResourceRel="user", collectionResourceRel = "user", path = "administrators"). Todos los métodos que tengan exposed = true pueden invocarse con el argumento de cada método. Es posible devolver una vista de los datos mediante las proyecciones. Únicamente las he hecho funcionar mediante compilación, no mediante invocación ?projection=p en la url | ||
+ | |||
+ | Hará falta sustituir la línea anterior por @RepositoryRestResource(itemResourceRel="user", collectionResourceRel = "user", path = "administrators", excerptProjection = UsersProjection.class) | ||
+ | |||
+ | ===== Proyecciones ===== | ||
+ | |||
+ | Es una visión diferente de lo que devuelve el repositorio. Se aplican a las entidades. En src/main/java/com/testSpring/demoArtifact/projection se define una interfaz con los métodos get de aquellos atributos a los que se quiere acceder y se declara la siguiente directiva @Projection(name = "editp", types = UserEntity.class). Las proyecciones no pueden ser usadas en los controladores. Tan sólo se pueden usar en los repositorios | ||
===== Servicios ===== | ===== Servicios ===== |