Spring Data Rest раскрывает непреднамеренные методы HTTP - PullRequest
0 голосов
/ 28 ноября 2018

Я определил следующее RestRepository для предоставления только GET /cars:

@RepositoryRestResource
public interface CarRepository extends Repository<Car, String> {
    @RestResource
    List<Car> findAll();
}

Я также поместил следующую аннотацию для предоставления только аннотированных репозиториев:

spring.data.rest.detection-strategy=annotated

Все работает хорошокогда я звоню GET /cars, но если я звоню PATCH /cars/test, я получаю следующее исключение (с соответствующим кодом состояния 500):

java.lang.IllegalStateException: Repository doesn't have a find-one-method declared!
    at org.springframework.data.repository.support.ReflectionRepositoryInvoker.lambda$invokeFindById$1(ReflectionRepositoryInvoker.java:143) 
    ...

Вместо этого, если я звоню DELETE /cars/test, я получаю метод 405Не разрешено (что кажется более правильным).

Это ошибка или предполагаемое поведение для Spring Data Rest?Если это задумано, как можно изящно отключить PATCH? 1018 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...