java - 如何在 sitebricks-client 中发布正文?

标签 java rest post rest-client sitebricks

我正在使用sitebricks-client与 Java 中的 REST API 进行交互。我需要用非空主体进行 POST。我如何在 sitebricks 中做到这一点?

最佳答案

您尚未指定您要尝试发布哪种类型的请求正文。如果您尝试发送内容类型为“text/plain”的字符串,则以下操作应该有效:

String body = "Request body.";
WebResponse response = web.clientOf(url)
    .transports(String.class)
    .over(Text.class)
    .post(body);

如果您尝试发送已序列化为字符串的特定类型的数据,则可以手动设置 Content-Type header :

String body = "{}";
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
WebResponse response = web.clientOf(url, headers)
    .transports(String.class)
    .over(Text.class)
    .post(body);

如果您有一个包含要发送到内容类型为“application/json”的服务器的数据的 map ,那么您可能会喜欢这样的内容:

Map body = new HashMap();
// Fill in body with data
WebResponse response = web.clientOf(url)
    .transports(Map.class)
    .over(Json.class)
    .post(body);

上面的例子中有两点需要注意:

  • 传递给 post 方法的值应该是传递给 transport 方法的类型。
  • 传递给 over 方法的类决定 Content-Type header 的默认值以及传递给 post 方法的值的序列化方式。该类应该是 com.google.sitebricks.client.Transport 的子类,您可能需要选择 com.google.sitebricks.client.transport 中找到的类之一 包。

关于java - 如何在 sitebricks-client 中发布正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450538/

相关文章:

java - 春假服务

java - 具有 Spring MVC 和 GWT 以及覆盖类型的 RESTful API

javascript - 修改javascript代码以遍历表单中的所有变量

c# - 从 asp.net mvc 站点中的外部站点获取帖子响应

java - 使用 JTable 掌握细节

java - A* star openlist 未按预期工作

java - Eclipse/Android错误: R can not be resolved to a variable

java - java中的内存使用大数组难题

ios - 获取操作时的 REstkit 错误

c++ - 注册自定义 `` 后端 ://` scheme is not working in CEF