当前位置: 首页 > 知识库问答 >
问题:

需要Jersey客户端api的方式来发布一个带有json负载和头的webrequest

汪凌
2023-03-14

我正在使用jersey(org.glassfish.jersey.client.*)为我的一个REST API编写客户机。

api url为:http://localhost:5676/searchws/search/getresults(POST)

我看到了calden提到的提供有效负载的答案如何在Java中向REST API发送请求有效负载?但我正在寻找一种方法在新泽西客户端做到这一点。

这是我的代码,到目前为止,它不能完全工作的post请求。

public class RequestGenerator 
{

    private WebTarget target;
    private ClientConfig config;
    private Client client;
    private Response response;

    public RequestGenerator(Method RequestSendingMethod) throws Exception
    {
        switch (RequestSendingMethod)
        {
            case POST :
                config = new ClientConfig();
                client = ClientBuilder.newClient(config);
                target = client.target("http://localhost:5676/searchws").path("search").path("getresults");
                String payload = "{\"query\":\"(filter:(\\\"google\\\")) AND (count_options_availbale:[1 TO *])\"}"; //This is just a sample json payload actual one is pretty large
                response = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.json("")); // What to do here
                String jsonLine = response.readEntity(String.class);
                System.out.println(jsonLine);
}

}

共有1个答案

盖玉石
2023-03-14

您可以将有效负载指定为entity.json的参数

 String payload = "{\"query\":\"(filter:(\\\"google\\\")) AND (count_options_availbale:[1 TO *])\"}";  
 response = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.json(payload));
 类似资料:
  • 实现这一点的最佳方式是什么: 我的应用程序允许用户上传图像,这是通过RESTful服务完成的,编码为“多部分/表单数据”。 现在,在服务的主体中,我真的不需要保存这个文件,但是我想用它来传递和调用另一个服务。所以我可以使用泽西客户端应用编程接口进行另一次调用,而不一定需要将文件保存到磁盘,然后传递所谓的“临时”文件。 以下是我的一些代码: 我猜上述方法的替代方法是暂时保存文件,然后传入一个java

  • 我发现了一个youtube视频如何做一个get url,但我需要做一个帖子到一个REST API。我不知道怎么做。 我试着看看这里,但大部分都是Java。 使用GET,我只收到一个错误,因为我没有执行POST请求。

  • 运行一个客户端最少需要Jersey框架的哪些JAR文件?如果我包括所有的JAR,它将占用4 MB。

  • 问题内容: 我需要Java或Ruby中的客户端API。我更 希望 只在本地使用。实际上,它甚至可能不是IP,而是更多的数据库导入。事实是,我无法使用基于Web服务的Web服务,因为这对我来说是太多的I / O。 注意:通过地理位置定位,我真正需要的只是充其量是国家/地区。我也会接受实际的经/纬度坐标。 问题答案: 几个月前,我正在看这些家伙:http : //www.maxmind.com/app

  • 我这里有个小问题。在触发请求时,我希望使用HMAC对整个消息进行签名,并将生成的签名添加到头中。 所以我实施了 在的 方法I无法访问实体的字符串表示形式。它总是返回一个空字符串。原因似乎是在WriterInterceptor之后执行的MessageBodyWriter。 基本上,我有以下两种情况: 在这里,do某位SuffBackPayload(有效载荷)方法不起作用,因为有效载荷总是空的。 我以

  • DropWizard在REST的引擎盖下使用泽西。我正在尝试弄清楚如何为我的DropWizard应用程序将公开的RESTfulendpoint编写客户端。 为了这个例子,让我们假设我的DropWizard应用程序有一个< code>CarResource,它为CRUDding cars公开了几个简单的RESTfulendpoint: 因此,我认为结构化的API客户端将类似于: 但是我能找到的关于D