Почему у меня есть неоднозначные методы обработчика, сопоставленные для пути HTTP в моем приложении Spring Boot Rest Data Application?

Я до сих пор ничего особенного не делал, но получил раздражающее исключение:

java.lang.IllegalStateException: неоднозначные методы обработчика, отображаемые для пути HTTP 'http://localhost:8080/directoryWatches' : {public org.springframework.http.ResponseEntity org.springframework.data.rest.webmvc.RepositoryEntityController.headCollectionResource (org.springframework.data.rest.webmvc. выбрасывает org.springframework.web.HttpRequestMethodNotSupportedException, public org.springframework.hateoas.Resources org.springframework.data.rest.webmvc.RepositoryEntityController.getCollectionResourcec. .webmvc.support.DefaaledPageable, org.springframework.data.domain.Sort, org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) выбрасывает org.springframework.data.rest.webmvc.ResourceNotFramework.ExpringException tMethodNotSupportedException}

Вот моя сущность:

@Entity
public class DirectoryWatch {

@Id
@GeneratedValue
private long id;

@Column(unique = true)
private String name;
//setters, getters and default constructor...
}

И мой DirectoryWatchRepository:

@RepositoryRestResource
public interface DirectoryWatchRepository extends PagingAndSortingRepository<DirectoryWatch, Long> {
}

Исключение возникает, когда я открываю браузер HAL и пытаюсь открыть методы HTTP NON-GET: < img src = "https://i.stack.imgur.com/iJeOD.png" alt = "введите описание изображения здесь">

Фрагменты моего файла pom:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.M2</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

Dependencies:
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-actuator-docs</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-rest-hal-browser</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-hateoas</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-remote-shell</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.restdocs</groupId>
        <artifactId>spring-restdocs-mockmvc</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.11.0</version>
    </dependency>
</dependencies>

Есть ли у кого-нибудь полезная идея?

Спасибо, Кристиан


person Chrisposure    schedule 17.05.2016    source источник
comment
Добавьте соответствующий фрагмент POM или укажите версии используемых артефактов.   -  person Thomas    schedule 17.05.2016
comment
Привет, Томас. Добавлен помп.   -  person Chrisposure    schedule 17.05.2016
comment
@Chrisposure вы можете добавить свой код контроллера?   -  person cralfaro    schedule 17.05.2016
comment
Код контроллера отсутствует. Я использую @RepositoryRestResource из Spring Data Rest.   -  person Chrisposure    schedule 18.05.2016


Ответы (1)


Это подозрительно похоже на регресс в Spring Framework 4.3 RC1, о котором я сообщил здесь. Проблема уже исправлена, и в предстоящую Spring Boot 1.4 M3 будет включена исправленная версия.

Релиз Boot должен быть доступен через пару дней. Пока этого не произошло, вы можете просто вручную выполнить обновление до Spring Framework 4.3 RC2.

person Oliver Drotbohm    schedule 17.05.2016
comment
@Chrisposure - 1.4 M3 есть с исправленной проблемой. ???? - person Oliver Drotbohm; 18.05.2016
comment
@OliverGierke: Я пробовал один из ваших проектов GitHub на микросервисах весенней загрузки, получил похожую ошибку неоднозначного обработчика. Код работает нормально, если версия понижена до 1.4 M1, но не использует 1.4 M3. Не могли бы вы предложить, требуются ли какие-либо другие изменения, так как m появляется некоторая ошибка. Возникла такая же проблема в трекере Github и даже предложено мое решение для этого. Пожалуйста, посоветуйте, как решить проблему для версии M3 или 1.4 RELEASE. - person Sudip7; 03.08.2016
comment
Убедитесь, что вы используете Spring Framework 4.3 GA или новее. (В загрузке 1.4 по умолчанию используется 4.3.2). - person Oliver Drotbohm; 03.08.2016