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;
    }

フローは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