Creating a read-only repository with SpringData

后端 未结 6 436
后悔当初
后悔当初 2020-12-13 18:12

Is it possible to create read-only repositories using Spring Data?

I have some entities linked to views and some child entities for which I would like to provide a r

6条回答
  •  抹茶落季
    2020-12-13 19:03

    This is for read-only PagingAndSortingRepository

    package com.oracle.odc.data.catalog.service.core.repository;
    
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.domain.Sort;
    import org.springframework.data.repository.NoRepositoryBean;
    import org.springframework.data.repository.PagingAndSortingRepository;
    import org.springframework.data.rest.core.annotation.RestResource;
    
    /**
     * Extension of {@link PagingAndSortingRepository} but without modification capabilities
     *
     * @author XYZ
     * @see Sort
     * @see Pageable
     * @see Page
     */
    @NoRepositoryBean
    public interface ReadOnlyPagingAndSortingRepository extends PagingAndSortingRepository {
    
        @Override
        @RestResource(exported=false)
         S save(S entity);
    
        @Override
        @RestResource(exported=false)
         Iterable saveAll(Iterable entities);
    
        @Override
        @RestResource(exported=false)
        void deleteById(ID id);
    
        @Override
        @RestResource(exported=false)
        void delete(T entity);
    
        @Override
        @RestResource(exported=false)
        void deleteAll(Iterable entities);
    
        @Override
        @RestResource(exported=false)
        void deleteAll();
    
    }
    

    If you try to POST or DELETE, you will get 405 (Method Not Allowed).

提交回复
热议问题