如何使用Jersey客户端API在RESTful调用上添加标题

埃里克:

这是RESTful调用的格式:

HEADERS:
    Content-Type: application/json;charset=UTF-8
    Authorization: Bearer Rc7JE8P7XUgSCPogjhdsVLMfITqQQrjg

REQUEST:
    GET https://api.example.com/1/realTime?json={"selection":{"includeAlerts":"true","selectionType":"registered","selectionMatch":"","isTheEvent":"true","includeRuntime":"true"}}

这是我的代码:

                try
                {
                 Client client = Client.create();
                 WebResource webResource = 
                         client.resource("https://api.example.com/1/realTime?json=
                         {"selection":{"includeAlerts":"true","selectionType":"registered","selectionMatch":"","isTheEvent":"true","includeRuntime":"true"}}");

                 //add header:Content-Type: application/json;charset=UTF-8
                 webResource.setProperty("Content-Type", "application/json;charset=UTF-8");

                 //add header: Authorization Bearer Rc7JE8P7XUgSCPogsdfdLMfITqQQrjg
                 value = "Bearer " + value;
                 webResource.setProperty("Authorization", value);

                 MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
                 queryParams.add("json", js);

                 //Get response from RESTful Server
                 jsonStr = webResource.get(String.class);
                 System.out.println("Testing:");
                 System.out.println(jsonStr);

                }
                catch (Exception e)
                {
                  System.out.println (e.getMessage());
                  e.printStackTrace();
                  System.exit(0);
                }

但它返回错误

com.sun.jersey.api.client.UniformInterfaceException: GET https://api.example.com/1/realTime? returned a response status of 500
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:607)
    at com.sun.jersey.api.client.WebResource.get(WebResource.java:187)
    at net.yorkland.restful.GetThermostatlist.GetThermostats(GetThermostatlist.java:60)

我想我没有正确添加标题。

有人可以帮我修复它吗?请给我建议,如何根据要求添加标题。

谢谢

建筑师:

我认为您正在寻找header(name,value)方法。看到WebResource.header(String, Object)

注意,尽管它返回一个Builder,所以您需要将输出保存在webResource var中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Jersey客户端的PATCH请求

Jersey 2.x:如何在RESTful客户端上添加标题

如何使用Jersey客户端POST方法提交数据

如何对调用Jersey客户端API的代码进行单元化?

使用Jersey客户端的HTTPS

如何使用Google Cloud客户端库进行基于API密钥的REST调用

如何使用Postman客户端调用Twitter API

不清楚在python中使用swagger codegen客户端向api调用中添加标头的具体细节

使用Google API客户端,如何创建客户端

如何使用Executor创建Jersey 2客户端

如何根据客户端调用使用许多数据库实现Web API

指数延迟客户端API调用

如何使用授权和客户端ID在C#中调用Azure Maps API?

如何使用用户的python客户端API将用户添加到Azure DevOps?

从Web API调用客户端

如何为Jersey2客户端添加http代理

如何使用http客户端调用rmi接口?

如何限制客户端调用方法?

如何向jersey客户端添加新标头以上传多部分文件

如何从Jersey API客户端调用中跟踪整个GET请求

如何防止客户端REST API调用阻止/使用Jersey优先处理某些API调用

Zabbix API用户使用Jersey客户端登录

使用Jersey运行Rest客户端

Spring RESTful后端和Angularjs前端:如何从客户端添加参数?

如何使用jersey 2.19 REST API管理客户端/服务器会话数据

无法从Android客户端调用API

如何使用 OAuth 2.0 客户端 ID 调用 Google Drive API?

如何在 WEB API 中使用 SignalR 2,从 API 和客户端调用 SignalR 方法

如何使用 oauth 从任何 API 生成客户端 ID 和客户端密码