Почему весна возвращает ответ HAL / HATEOAS при вызове несуществующего URL? - PullRequest
0 голосов
/ 19 апреля 2019

Я получаю ответ от localhost: 8085 / ponds, когда я не установил для него контроллер ... нигде нет сопоставления.

Еще более странно то, что когда я захожу на localhost: 8085 / ponds, я вижу в приложении, что оно выполняет команду SQL.

Я искал в Интернете, откуда исходит _embedded, и нашел кое-что относительно HAL и HATEOS, однако я нигде не реализовал их неявным образом.

Я запустил установку и развертывание maven clean в терминале и вижу это:

INFO 16328 --- [main] osdrwRepositoryRestHandlerMapping: Mapped "{[/ {repository} / {id}], method = [GET], создает = [application / hal + json || application / json]}" на общедоступный org.springframework.http.ResponseEntity> org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource (org.springframework.data.rest.webmvc.RootResourceInformation, javaingrara. org. webmvc.PersistentEntityResourceAssembler, org.springframework.http.HttpHeaders) выдает org.springframework.web.HttpRequestMethodNotSupportedException

org.springframework.http.ResponseEntity < org.springframework.hateoas.Resource>

Это ответ в браузере:

{
  "_embedded" : {
    "ponds" : [ ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8085/ponds"
    },
    "profile" : {
      "href" : "http://localhost:8085/profile/ponds"
    }
  }
}

В последний раз, когда я использовал SpringBoot несколько месяцев назад, если бы я попытался получить доступ к странице ссылки / отображения / HTML, для которой я не написал контроллер, я получил бы страницу "страница не найдена", а не ответ.

Я использую SpringBoot 2.0.5.RELEASE

Я не понимаю, почему он дает ответ, а не ошибку ...

Итак, я прокомментировал:

<!--<dependency>-->
    <!--<groupId>org.springframework.boot</groupId>-->
    <!--<artifactId>spring-boot-starter-data-rest</artifactId>-->
<!--</dependency>-->

И ответ ушел. Я до сих пор не понимаю, почему он использует ResponseEntity или почему ResponseEntity действительно возвращает этот JSON ...

1 Ответ

0 голосов
/ 19 апреля 2019

spring-boot-starter-data-rest

Нет необходимости в этой зависимости.Я удалил его.

https://spring.io/guides/gs/accessing-data-rest/

Это руководство проведет вас через процесс создания приложения, которое обращается к реляционным данным JPA через основанный на гипермедиа интерфейс RESTful.

...