GET
,并且需要包含 Accept: application/json
和 Content-Type: application/json
。我不理解为什么他们需要 Content-Type
,但是好吧:我已经尝试只使用
Accept:
标头来检索数据,但我一直收到 415 Unsupported Media Type
的错误。现在我正在尝试这种方式(但我不确定是否正确设置了两个标头):String entity = ClientBuilder.newClient().target(liveDataURI)
.path(liveDataPath)
.request(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.get(String.class);
您看到我正在使用Jersey 2.2,但仍然收到“415 Unsupported Media Type
”错误。
编辑
所以我让它工作了,但我不明白为什么。 accept(MediaType.APPLICATION_JSON)
和 header("Content-type","application/json")
不是一样的吗?
String responseEntity = ClientBuilder.newClient()
.target(liveDataURI)
.path(liveDataPath)
.request(MediaType.APPLICATION_JSON)
.header("Content-type", "application/json")
.get(String.class);
GET
請求中需要Content-Type
。您必須詢問運行此伺服器的人 :) - user1907906Accept
适用于响应正文,而Content-Type
适用于请求正文。请参阅 HTTP 请求头列表。 - Guillaume Husta