Używam wiosna-data-resztę i mam MongoRepository takiego:Jak zapobiec eksportowaniu niektórych metod HTTP z mojego MongoRepository?
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
chciałbym, aby umożliwić metody GET ale wyłącz PUT, POST, plaster i DELETE (tylko do odczytu serwis WWW).
Według http://docs.spring.io/spring-data/rest/docs/2.2.2.RELEASE/reference/html/#repository-resources.collection-resource powinienem być w stanie to zrobić tak:
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
@Override
@RestResource(exported = false)
public MyEntity save(MyEntity s);
@Override
@RestResource(exported = false)
public void delete(String id);
@Override
@RestResource(exported = false)
public void delete(MyEntity t);
}
To nie wydają się działać jak mogę jeszcze zrobić PUT, POST, łata i DELETE żądań.
To powinno działać, można podać przypadek testowy projekt/test, który pokazuje ten rygorem? –
Po testach ponownie dzisiaj, to faktycznie działa. Jednak nie mogę znaleźć sposobu ograniczenia metody GET na/myEntities. Dodawanie adnotacji do 'Listy findAll();' nic nie robi. –
avandecreme
'MongoRepository' rozszerza' PagingAndSortingRepository', więc musisz redeclare i adnotować 'findAll (Pageable pageable)'. –