如何使用Jersey框架过滤curl命令数据中的无效参数

时间:2012-11-28 13:00:21

标签: jersey

我的资源类:

    @POST 
    @Path("/add")
    @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    public Object add(Flow flow){
        Object obj = fun(flow.getParam1(),flow.getParam2());
        return obj;
    }

Flow是JAXB类,所有params都是其成员变量 使用的命令:

curl -X POST -HContent-type:application/xml -k --data "<rootElementName param1=\"val1\" param2=\"val2\"/>" https://<ip>:8443/xxxx/add

curl -X POST -HContent-type:application/json -k --data "{\"@param1\":\"val1\",\"@param2\":\"val2\"}" https://<ip>:8443/xxxx/add

我的要求是识别无效的参数名称和错误。
例如:

curl -X POST -HContent-type:application/xml -k --data "<rootElementName invalidParam1=\"val1\" param2=\"val2\"/>" https://<ip>:8443/xxxx/add

资源类必须验证此数据并返回消息无效param:invalidParam1 对于HTTP GET方法,我通过迭代多值映射uriInfo.getQueryParameters()

来完成此操作

请建议更好的方法对param方法执行此无效POST验证(如果可能,请重复使用多值地图验证代码)

0 个答案:

没有答案