- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我创建了一个如下所示的 Jersey 网络服务:
@Path("/webhookservice")
public class Webhook {
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response readData(@FormParam("payload") Payload payload, @Context HttpServletRequest req) {
// Gets client IP address
String ipAddress = (req.getRemoteHost().equals("") || req.getRemoteHost() == null) ? "UNKNOWN" : req.getRemoteHost();
// Persist data to DB
Persist.saveToDb(payload.getId(), Integer.toString(payload.getTimestamp()),
payload.getStatus(), payload.getAuth_code(),
payload.getTotal_amount(), payload.getRequired_amount(),
ipAddress);
// Repsond with a HTTP 200 OK
Response response = Response.status(200).build();
return response;
}
@GET
@Produces("text/plain")
public String testService() {
return "Service is up and working!";
}
}
Payload 类如下所示:
@XmlRootElement
public class Payload {
private String id;
private int timestamp;
private String status;
private String auth_code;
private int total_amount;
private int required_amount;
// Getters
@XmlElement(name = "id")
public String getId() {
return this.id;
}
@XmlElement(name = "timestamp")
public int getTimestamp() {
return this.timestamp;
}
@XmlElement(name = "status")
public String getStatus() {
return this.status;
}
@XmlElement(name = "auth_code")
public String getAuth_code() {
return this.auth_code;
}
@XmlElement(name = "total_amount")
public int getTotal_amount() {
return this.total_amount;
}
@XmlElement(name = "required_amount")
public int getRequired_amount() {
return this.required_amount;
}
// Setters
public void setId(String id) {
this.id = id;
}
public void setTimestamp(int timestamp) {
this.timestamp = timestamp;
}
public void setStatus(String status) {
this.status = status;
}
public void setAuth_code(String auth_code) {
this.auth_code = auth_code;
}
public void setTotal_amount(int total_amount) {
this.total_amount = total_amount;
}
public void setRequired_amount(int required_amount) {
this.required_amount = required_amount;
}
}
我发送的请求如下所示:
Content-Type: application/x-www-form-urlencoded Method: POST
未编码正文:
payload={"id":"123123","auth_code":"191331","required_amount":101,"timestamp":1407775713,"status":"completed","total_amount":101}
编码正文:
payload%3D%7B%22id%22%3A%22123123%22%2C%22auth_code%22%3A%22191331%22%2C%22required_amount%22%3A101%2C%22timestamp%22%3A1407775713%2C%22status%22%3A%22completed%22%2C%22total_amount%22%3A101%7D
但是当我发送请求时,“Webhook”类中的“readData()”函数中的“payload”对象为空...有人能指出我正确的方向吗?
最佳答案
我已经这样做了,而且它正在工作:
@Path("users")
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Login postLogin( MultivaluedMap<String, String> personParams ) {
String user = personParams.getFirst(USER);
String pass = personParams.getFirst(PASSWORD);
关于java - @Consumes(MediaType.APPLICATION_FORM_URLENCODED) FormParameter 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25259760/
我看到 @products 注释允许我传递单个字符串和字符串列表。所以我只是想知道这是如何在java中完成的,如果我需要使用允许以下行为的方法来实现它,我该怎么做?或者这个注释是特定的,所以我们不能在
我需要创建一个 REST 服务(Jersey),它接受 header 为“application/com.foo+xml”(+json,如果是 JSON mime 类型)。 有什么办法可以拥有吗?@P
我有一个使用 XML 和 JSON 的 Web 服务。 输出当前始终采用 XML 格式。 是否可以使用与所使用的 MediaType 相同的 MediaType 生成响应? 我需要的是: 请求是 XM
一旦我得到这个问题 Latest Jersey example does not work 的答案,我就遇到了另一个奇怪的问题: 服务器,GET 方法工作正常。我测试并添加了一些测试代码 hellow
我正在使用 Jersey 启用 JacksonFeature 编写 REST 客户端,用于强制我指定其自定义命名内容类型的 Web 服务,即使它只是常规 JSON。换句话说,当我这样做时: Reque
我正在使用 ReSTLet 来实现一个简单的 RESTful API,它为我提供了一个 org.reSTLet.data.MediaType 作为 ContentType。但是,我正在尝试使用其他一些
我使用 symfony 3.4 和奏鸣曲媒体包。在表单中使用 MediaType 效果很好,如下所示: $this->builder->->add('document', MediaType::cla
我正在使用 ReSTLet 构建某种代理服务器,但是我遇到了一个问题,即没有根据客户端请求自动确定 MediaType 的方法。 这是我的代码: Representation entity = nul
创建多部分/相关请求时。我们需要在 Content-Type 字符串中添加一个额外的 type=MIME_TYPE 内容类型应该是这样的 Content-Type: multipart/related
我的 SpringBoot 应用程序向外部 API 发出 HTTP 请求,所有这些都使用/生成 JSON。默认情况下,我的应用程序使用 Jackson 进行数据绑定(bind),并且所有 HTTP 请
6天前,我问了这个问题: how to select from filtervalues where genre comma delimited values contain only what is
我创建了一个示例客户端/服务器应用程序来熟悉 Spring Webflux/Reactor Netty。现在,当响应包含 Flux 并且媒体类型为“文本/事件流”时,我对客户端的行为有点困惑。我可以看
我有 Spring Rest Controller ,如下: @RestController @RequestMapping(value = "/v1/files") public class Dat
我创建了一个使用 REST 服务器进行 CRUD 操作的 Web 应用程序。我使用 java Jersey 和 gradle。当我执行 POST 操作时,我以 JSON 格式发送对象,如下所示: To
我只使用照片模式,但从 2019 年 Spring 开始,苹果商店要求获得微观许可。当用户只使用照片时,授予 micro 权限会非常困惑。这个问题有什么解决方法吗? 最佳答案 可能需要麦克风权限,因为
我正在构建我的第一个 API。 GET 请求有效,但我陷入了 POST 请求,并出现错误 415 不支持的媒体类型。经过一番查找和重写代码,仍然失败。有人明白为什么吗?参数值为: -String us
我目前正在开发一个由其他团队维护的项目,现在我需要维护它。当我完成该项目时,我发现了以下一些内容: 在 jax-rs Controller 中,它由 @Consumes(MediaType.APPLI
我遇到了一个奇怪的问题。我有一个 Web 项目(java 服务),我用 ANT 构建它。然而由于某些原因,构建系统不得不更改为Maven。 使用 Maven 构建后,我将 war 文件部署到 tomc
我目前正在开发一些 RESTful API 的版本 2,为了保持与版本 1 的兼容性,我想将该版本作为媒体类型参数添加到所有请求/响应中。 版本1:接受:application/json、applic
如何为具有自定义 MediaType 的实体发送 GET 请求? 例如,我想检索 MyUserDTO 并将 MediaType 设置为 application/user+yml。 现在我有两个独立的
我是一名优秀的程序员,十分优秀!