Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSONFIlter和REST返回对象而不是字符串_Json_Jersey_Jackson - Fatal编程技术网

JSONFIlter和REST返回对象而不是字符串

JSONFIlter和REST返回对象而不是字符串,json,jersey,jackson,Json,Jersey,Jackson,我使用JsonFilter来过滤属性。为此,我需要通过以下方法将RESTAPI返回类型修改为String(json字符串),而不是对象 问题是如何让RESTAPI返回我的对象类型而不是字符串,并且仍然使用JsonFilter // Filter object @JsonFilter ("userFilter") public class User { } // REST @GET @Produces("application/json") public UserWrapper getUser

我使用JsonFilter来过滤属性。为此,我需要通过以下方法将RESTAPI返回类型修改为String(json字符串),而不是对象

问题是如何让RESTAPI返回我的对象类型而不是字符串,并且仍然使用JsonFilter

// Filter object
@JsonFilter ("userFilter")
public class  User { }

// REST
@GET
@Produces("application/json")
public UserWrapper getUsers(@QueryParam("fields") String fields) {
     UserWrapper  r = new UserWrapper  ();
     List<User>   users = x.getUsers(fields);
     r.setUsers(users)
     return r;
}
//过滤器对象
@JsonFilter(“用户过滤器”)
公共类用户{}
//休息
@得到
@生成(“应用程序/json”)
公共UserWrapper getUsers(@QueryParam(“字段”)字符串字段){
UserWrapper r=newuserwrapper();
列表用户=x.getUsers(字段);
r、 设置用户(用户)
返回r;
}
问题是我有如何使REST接口返回“UserWrapper”而不是Json字符串?UserWrapper没有JsonFilter,但包含具有JsonFilter的用户

// Filter object
@JsonFilter ("userFilter")
public class  User { }

// REST
@GET
@Produces("application/json")
public UserWrapper getUsers(@QueryParam("fields") String fields) {
     UserWrapper  r = new UserWrapper  ();
     List<User>   users = x.getUsers(fields);
     r.setUsers(users)
     return r;
}
谢谢你的投入


vbp现在不需要在资源方法中创建ObjectMapper并返回字符串来定制结果对象的JSON表示形式

如果使用,可以将
@JsonView
注释直接放在资源方法上。看看这个吉拉

您还可以使用自定义资源方法内部的Jackson对象编写器。您可以使用它覆盖当前Jackson视图()或配置()