当我没有为它设置控制器时,我收到来自localhost:8085 / ponds的响应……任何地方都没有映射。
更奇怪的是,当我进入localhost:8085 / ponds时,我可以在应用程序中看到它正在执行SQL命令。
我在网上搜索了此_embedded的来源,并且找到了有关HAL和HATEOS的信息,但是,我没有在任何地方隐式实现这些信息。
我已经在终端中进行了maven全新安装并部署,我看到了:
INFO 16328 --- [main] osdrwRepositoryRestHandlerMapping:映射“ {[/ {repository} / {id}],方法= [GET],produces = [application / hal + json || application / json]}”到公共org.springframework.http.ResponseEntity> org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(org.springframework.data.rest.webmvc.RootResourceInformation,java.io.Serializable,org.springframework.data.rest。 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 ...
答案 0 :(得分:0)
spring-boot-starter-data-rest
不需要这种依赖性。我已将其删除。
https://spring.io/guides/gs/accessing-data-rest/
本指南将引导您完成创建通过基于超媒体的RESTful前端访问关系JPA数据的应用程序的过程。