spring-hateoas使用`use-hal-as-default-json-media-type = false`仍默认响应`application / hal + json`

时间:2017-11-03 02:17:59

标签: spring-boot spring-hateoas

我想默认禁用HAL格式。

流动文档,我设置了这个属性。

self.a = 123

然后测试一下:

1。标题为spring.hateoas.use-hal-as-default-json-media-type=false 的请求。

标题:Accept: application/json

响应:

Content-Type: application/json;charset=UTF-8

2。请求标头为{ "links": {} } 或不带Accept: */*标头。

标题:Accept

响应:

Content-Type: application/hal+json;charset=UTF-8

{ "_embedded": {}, "_links": {} } 的版本是1.5.3,我使用spring-boot

无论如何,当没有指定标题时,是否允许hateoas在没有HAL的情况下响应json?

非常感谢。

更新

以下是基于the guide from spring.io的示例。

请求:spring-boot-starter-hateoas

标题为http://localhost:8080/greeting的请求。

Accept: */*

标题为HTTP/1.1 200 Content-Type: application/hal+json;charset=UTF-8 { "content":"Hello, World!", "_links":{ "self":{ "href":"http://localhost:8080/greeting?name=World" } } } 的请求。

Accept: application/json

默认情况下我不想要HAL,所以我将一个配置文件HTTP/1.1 200 Content-Type: application/json;charset=UTF-8 { "content":"Hello, World!", "_links":{ "self":{ "href":"http://localhost:8080/greeting?name=World" } } } 添加到项目中。

resources/application.properties

再次测试。

标题为spring.hateoas.use-hal-as-default-json-media-type=false 的请求。

Accept: */*

标题为HTTP/1.1 200 Content-Type: application/hal+json;charset=UTF-8 { "content":"Hello, World!", "_links":{ "self":{ "href":"http://localhost:8080/greeting?name=World" } } } 的请求。

Accept: application/json

0 个答案:

没有答案