我的资源类:
@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
(如果可能,通过重用多值映射验证代码)