From df5aa24da932a8da152bc9900911d110600b8123 Mon Sep 17 00:00:00 2001 From: anysoft Date: Fri, 15 Nov 2019 15:58:37 +0800 Subject: [PATCH] fix #251 fix the issue https://github.com/briandilley/jsonrpc4j/issues/251 add params node into request when args is null or empty . --- src/main/java/com/googlecode/jsonrpc4j/JsonRpcClient.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/googlecode/jsonrpc4j/JsonRpcClient.java b/src/main/java/com/googlecode/jsonrpc4j/JsonRpcClient.java index 57a9172..a99f76e 100644 --- a/src/main/java/com/googlecode/jsonrpc4j/JsonRpcClient.java +++ b/src/main/java/com/googlecode/jsonrpc4j/JsonRpcClient.java @@ -343,6 +343,7 @@ private ObjectNode internalCreateRequest(String methodName, Object arguments, St addParameters(arguments, request); addAdditionalHeaders(request); notifyBeforeRequestListener(request); + addNoneArguments(request); return request; } @@ -423,6 +424,13 @@ private boolean isCollectionArguments(Object arguments) { return arguments != null && Collection.class.isInstance(arguments); } + private void addNoneArguments(ObjectNode request){ + if (!request.has(PARAMS)){ + //for none params add an empty array + request.set(PARAMS,mapper.valueToTree(new String[0])); + } + } + private void addCollectionArguments(Object arguments, ObjectNode request) { Collection args = Collection.class.cast(arguments); if (!args.isEmpty()) {