为什么我通过向根 URL 发出请求来获得 HAL 浏览器的引用而不是 JSON+HAL 响应?
Why do I get a referer to the HAL Browser instead of a JSON+HAL response by issuing a request to the root URL?
我正在使用 Spring Boot 1.4.0.RELEASE 和 spring-data-rest-hal-browser,spring-boot-starter-hateoas,spring-boot-starter-data-rest 和其他几个依赖项。
当我打电话给
curl -H "Authorization: Basic YWRtaW46YWRtaW4xMjM=" -G http://localhost:8080/api/v1 -v
在我的控制台上,我收到以下响应:
* Adding handle: conn: 0x66a9e0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x66a9e0) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /api/v1 HTTP/1.1
> User-Agent: curl/7.33.0
> Host: localhost:8080
> Accept: */*
> Authorization: Basic YWRtaW46YWRtaW4xMjM=
>
< HTTP/1.1 302
< Set-Cookie: JSESSIONID=3DC642CBC288E944471DF289B11FBED4;path=/;HttpOnly
< X-Application-Context: application:dev
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< Location: http://localhost:8080/api/v1/browser/index.html#/api/v1
< Content-Language: de-DE
< Content-Length: 0
< Date: Wed, 17 Aug 2016 06:11:47 GMT
但我期望得到一个包含所有已发现资源的 json 对象。至少一个,因为我目前有一个存储库:
@RepositoryRestResource(path = "billing-services", collectionResourceRel = "billing-services", collectionResourceDescription = @Description("Mandantendaten"))
public interface BillingServiceRepository extends CrudRepository<BillingService, Long> {
}
有什么提示吗?
谢谢,
克里斯蒂安
Spring Boot 1.4.0 使用的 Spring Data REST 版本中有 a bug。它已在最新的 Spring 数据 REST 和 Spring 启动快照中修复。
您可以尝试使用 Spring Boot 1.4.1.BUILD-SNAPSHOT 或使用 Spring Boot 1.4.0.RELEASE 并覆盖 spring-data-releasetrain.version
属性 得到值 Hopper-BUILD-SNAPSHOT
。在这两种情况下,快照都可以从 https://repo.spring.io/libs-snapshot.
获得
我正在使用 Spring Boot 1.4.0.RELEASE 和 spring-data-rest-hal-browser,spring-boot-starter-hateoas,spring-boot-starter-data-rest 和其他几个依赖项。
当我打电话给
curl -H "Authorization: Basic YWRtaW46YWRtaW4xMjM=" -G http://localhost:8080/api/v1 -v
在我的控制台上,我收到以下响应:
* Adding handle: conn: 0x66a9e0
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x66a9e0) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /api/v1 HTTP/1.1
> User-Agent: curl/7.33.0
> Host: localhost:8080
> Accept: */*
> Authorization: Basic YWRtaW46YWRtaW4xMjM=
>
< HTTP/1.1 302
< Set-Cookie: JSESSIONID=3DC642CBC288E944471DF289B11FBED4;path=/;HttpOnly
< X-Application-Context: application:dev
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< Location: http://localhost:8080/api/v1/browser/index.html#/api/v1
< Content-Language: de-DE
< Content-Length: 0
< Date: Wed, 17 Aug 2016 06:11:47 GMT
但我期望得到一个包含所有已发现资源的 json 对象。至少一个,因为我目前有一个存储库:
@RepositoryRestResource(path = "billing-services", collectionResourceRel = "billing-services", collectionResourceDescription = @Description("Mandantendaten"))
public interface BillingServiceRepository extends CrudRepository<BillingService, Long> {
}
有什么提示吗?
谢谢, 克里斯蒂安
Spring Boot 1.4.0 使用的 Spring Data REST 版本中有 a bug。它已在最新的 Spring 数据 REST 和 Spring 启动快照中修复。
您可以尝试使用 Spring Boot 1.4.1.BUILD-SNAPSHOT 或使用 Spring Boot 1.4.0.RELEASE 并覆盖 spring-data-releasetrain.version
属性 得到值 Hopper-BUILD-SNAPSHOT
。在这两种情况下,快照都可以从 https://repo.spring.io/libs-snapshot.