1

我有一个简单的 jax-rs 休息

@POST
@Path("/user")
@Produces({ "application/json" })
@Consumes({ "application/json" })
public Response createuser(User user){

    user.name = "pepebotero";
    return  Response.ok(user).build();

我们要绑定到 POJO 用户

public class User {
    public String name;
    public String surname;
}

将 JSON 与对象用户一起使用

{
    "User":{
    "name":"geroge",    
    "surname":"jordi"
    }   
}

我正在寻找一种方法来解决尽可能少的干扰以避免以下错误。我正在寻找面向注释的解决方案

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "User" (class com.endpoint.User), not marked as ignorable (2 known properties: "name", "surname"])
 at [Source: org.apache.cxf.transport.http.AbstractHTTPDestination$1@576599b5; line: 2, column: 10] (through reference chain: com..endpoint.User["User"]
4

1 回答 1

0

您可以使用@JsonTypeInfo指定包装器对象。基本上这样的事情就可以了。请注意,类名必须与包装对象相同,我认为它也区分大小写。试试看。

@JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT)
于 2017-02-17T10:18:16.037 回答