将通用列表参数发送到JAX-RS Web服务

时间:2016-07-26 07:08:18

标签: java jax-rs

如何将通用列表参数发送到JAX-RS服务?

以下是方法签名:

@POST
@Path("findcustomers")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void FindCustomers(@PathParam("branchId") long branchId, 
                          @PathParam("searchOptions") List<SearchOption> searchOptions) 
                          throws Exception {
    ...
}

SearchOption是一个由原始类型组成的简单Java类:

class SearchOption {
    int channelId;
    int locationId;
    int targetStatus;
}

上面的代码引发了一个例外情况:

  

没有为类型[put method signature here]

类型的参数找到注入源

1 个答案:

答案 0 :(得分:1)

好的,经过长时间的痛苦研究,我找到了解决方案。

为了能够在服务方法中接受POJO,您需要将@XmlRootElement属性添加到POJO中,在类中编写无参数构造函数并为字段设置getter / setter。

我一直在使用Maven,所以这里是pom.xml中所需的最低依赖项:

pyinstaller.exe webcode.py --hidden-import=webcode

您现在可以在api方法中发送和接收POJO对象。