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

访问Jersey客户端POST数据的PHP RESTful API

卫才
2023-03-14

我使用的是一个PHP RESTful API,它由使用jersey 2.21的Java桌面应用程序使用。

$data = json_decode(file_get_contents("php://input"));
final HashMap<String, String> params = // some hashmap with a few entries
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
MultivaluedMap formData = new MultivaluedHashMap(params);

WebTarget target = client.target(url);


// Get JSON
String jsonResponse = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(formData, MediaType.APPLICATION_FORM_URLENCODED_TYPE), String.class);

return jsonResponse;

共有1个答案

史涵育
2023-03-14

多亏了@JonStirling,我拿到了。

我必须将内容类型设置为JSON。以下是更新后的代码:

ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);

WebTarget target = client.target(url);

String data = new Gson().toJson(params);

// POST JSON
Entity json = Entity.entity(data, MediaType.APPLICATION_JSON_TYPE);
Invocation.Builder builder = target.request(MediaType.APPLICATION_JSON_TYPE);
String jsonResponse = builder.post(json, String.class);

return jsonResponse;
 类似资料:
  • 问题内容: 我是新泽西州的新手。我需要实现一个Jersey客户端,才能使用POST方法提交数据。curl命令是: 因此,我试图找出如何使用Jersey客户端来实现上述curl命令的方法。 到目前为止,我已经完成了: 有人可以帮我吗? 问题答案: 现在我知道了。这是我的解决方案:

  • 我必须向只通过表单数据(Mediatype.application_form_urlencoded)接受参数的服务器发布pojo。我知道jersey client可以将对象转换为xml、json和其他类型,但试图转换为APPLICATION_FORM_URLENCODED会出现异常,显示指定类型的body writer不可用。 是否有方法将对象序列化为application_form_urlenc

  • 问题内容: 在Java方法中,我想使用Jersey客户端对象在RESTful Web服务(也使用Jersey编写)上执行POST操作,但不确定如何使用客户端发送将用作FormParam的值在服务器上。我能够发送查询参数就好了。 问题答案: 我自己尚未完成此操作,不过Google- Fu的简短内容在blogs.oracle.com上提供了一个技术提示,其中包含您真正要求的示例。 摘自博客文章的示例:

  • 我正在尝试创建RESTful web服务,但无法使删除生效,我不确定问题在哪里。我认为问题在客户端项目中,但也可能在服务器项目的资源类中。 我有一个使用这种方法的学生道课,我不认为这是一个问题,因为它适用于其他项目。 我有一个StudentResource类,它是我从包含这段代码的模式中创建的RESTful资源 然后,我创建了一个java项目,并使用此方法创建了名为OneStudent的RESTf

  • 我们计划将主动 MQ (STOMP) 用于我们的一个项目。其中一个要求是,如果我们发现用户不合适,就将其踢出/禁止。如何通过单板技术实现这一点?有点像在 IRC 中踢球的东西。

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