相关疑难解决方法(0)

使用JAX-RS Jersey 2.2获取Content-Type和Accept标头的请求

我尝试访问一个开放的数据Web服务,它为我提供了流量信息.文档说请求必须是GET并且需要包含Accept: application/jsonContent-Type: application/json.我不明白为什么他们需要Content-Type但是确定:

我试图只用Accept:Header 检索数据,但我总是得到一个415 Unsupported Media Type.现在我正在尝试这种方式(但我不确定我是否真的正确设置两个标头):

String entity = ClientBuilder.newClient().target(liveDataURI)
    .path(liveDataPath)
    .request(MediaType.APPLICATION_JSON)
    .accept(MediaType.APPLICATION_JSON)
    .get(String.class);
Run Code Online (Sandbox Code Playgroud)

如你所见,我正在使用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);
Run Code Online (Sandbox Code Playgroud)

rest web-services content-type jax-rs jersey

13
推荐指数
2
解决办法
4万
查看次数

标签 统计

content-type ×1

jax-rs ×1

jersey ×1

rest ×1

web-services ×1