spring - requestmapping - ¿Cómo evitar que algunos métodos HTTP se exporten desde mi MongoRepository?
spring mvc tutorial español pdf (1)
Estoy usando spring-data-rest y tengo un MongoRepository como este:
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
Me gustaría permitir los métodos GET pero deshabilitar PUT, POST, PATCH y DELETE (solo servicio web de lectura).
De acuerdo con http://docs.spring.io/spring-data/rest/docs/2.2.2.RELEASE/reference/html/#repository-resources.collection-resource debería poder hacer eso así:
@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);
}
No parece funcionar ya que todavía puedo hacer solicitudes PUT, POST, PATCH y DELETE.
Gracias a Oliver, aquí están los métodos para anular:
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends MongoRepository<Person, String> {
// Prevents GET /people/:id
@Override
@RestResource(exported = false)
public Person findOne(String id);
// Prevents GET /people
@Override
@RestResource(exported = false)
public Page<Person> findAll(Pageable pageable);
// Prevents POST /people and PATCH /people/:id
@Override
@RestResource(exported = false)
public Person save(Person s);
// Prevents DELETE /people/:id
@Override
@RestResource(exported = false)
public void delete(Person t);
}