Java JAX-RS消费地图<;字符串,对象>;作为JSON请求的一部分
我想发送一个Java JAX-RS消费地图<;字符串,对象>;作为JSON请求的一部分,java,json,rest,hashmap,jax-rs,Java,Json,Rest,Hashmap,Jax Rs,我想发送一个java.util.Map,作为JAX-RS JSON参数的一部分, 我有以下情况: @Path("/banner") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public class BannerImageService extends BaseServiceFacade<BannerImage, Integer> { @Path(“/banner”) @使
java.util.Map
,作为JAX-RS JSON参数的一部分,
我有以下情况:
@Path("/banner")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class BannerImageService extends BaseServiceFacade<BannerImage, Integer> {
@Path(“/banner”)
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共类BannerImageService扩展了BaseServiceFacade{
@GET
@产生(MediaType.APPLICATION_JSON)
公共列表查询(MapRequestBeanVO MapRequestBeanVO){
试一试{
返回getService().search(mapRequestBeanVO.getQuery(),mapRequestBeanVO.getParams());
}捕获(服务异常e){
服务例外(e);
}捕获(例外情况除外){
logException(ex);
}
返回null;
}
公共类MapRequestBeanVO扩展了BaseSemanticNamedVO{
私有字符串查询;
私有映射参数;
公共字符串getQuery(){
返回查询;
}
公共void setQuery(字符串查询){
this.query=query;
}
公共映射getParams(){
返回参数;
}
公共void setParams(映射参数){
this.params=params;
}
}
我目前正在为JAX-RS运行Glassfish4 Jersey实现
我应该包含一个第三方库来完成这项工作(Moxy-Jackson)?还是JAXB会处理它?最好的选择是什么?我发现的最好方法是使用所有对象字符串,然后在需要时在服务器端相应地处理它们,这样类将更改为:
public class MapRequestBeanVO extends BaseSemanticNamedVO<String> {
private String query;
private Map<String, String> params;
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public Map<String, Object> getParams() {
return params;
}
public void setParams(Map<String, Object> params) {
this.params = params;
}
}
公共类MapRequestBeanVO扩展了BaseSemanticNamedVO{
私有字符串查询;
私有映射参数;
公共字符串getQuery(){
返回查询;
}
公共void setQuery(字符串查询){
this.query=query;
}
公共映射getParams(){
返回参数;
}
公共void setParams(映射参数){
this.params=params;
}
}
public class MapRequestBeanVO extends BaseSemanticNamedVO<Integer> {
private String query;
private Map<String, Object> params;
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public Map<String, Object> getParams() {
return params;
}
public void setParams(Map<String, Object> params) {
this.params = params;
}
}
public class MapRequestBeanVO extends BaseSemanticNamedVO<String> {
private String query;
private Map<String, String> params;
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public Map<String, Object> getParams() {
return params;
}
public void setParams(Map<String, Object> params) {
this.params = params;
}
}