GAE将JSON对象从请求映射到Bean

时间:2016-10-18 21:44:53

标签: java json google-app-engine gson

我正在使用GoogleAppEngine构建RESTful Web服务。 一切都很好,但我接受一个简单的bean的简单方法:

@ApiMethod(name = "echo")
public String echo(Update message) {
    log.info("The message is: " + message.toString());
    return "done";
}

请求是这样的:

{"id":123, "first_name":"hello", "user_name": "world"}

bean就是这样:

import com.google.gson.annotations.SerializedName;
import com.google.appengine.repackaged.org.codehaus.jackson.annotate.JsonProperty;
public class Update {

    private Integer id;

    private String firstName; 

    private String userName;

    // getter/setter
}

但是,因为json(first_name)的键与java bean(firstName)不同,所以我在echo方法中只能识别id!

我尝试在变量之前添加@SerializedName("user_name")@JsonProperty("user_name"),但没有。 我无法在请求中更改JSON,我也不想重命名bean的字段。

有什么建议吗? 此致

1 个答案:

答案 0 :(得分:1)

我找到了。

使用:

import com.google.appengine.repackaged.org.codehaus.jackson.annotate.JsonProperty;

导致故障

我将其更改为:

com.fasterxml.jackson.annotation.JsonProperty

现在可行了

this post give me the idea