1

我的资源类:

    @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

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

请建议更好的方法来对方法进行无效param验证POST(如果可能,通过重用多值映射验证代码)

4

0 回答 0