{"action":"created","issue":{"url":"https://api.github.com/repos/advantageous/qbit/issues/539","labels_url":"https://api.github.com/repos/advantageous/qbit/issues/539/labels{/name}","comments_url":"https://api.github.com/repos/advantageous/qbit/issues/539/comments","events_url":"https://api.github.com/repos/advantageous/qbit/issues/539/events","html_url":"https://github.com/advantageous/qbit/issues/539","id":115545719,"number":539,"title":"QBit does not give null value for optional request param.","user":{"login":"RichardHightower","id":382678,"avatar_url":"https://avatars.githubusercontent.com/u/382678?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardHightower","html_url":"https://github.com/RichardHightower","followers_url":"https://api.github.com/users/RichardHightower/followers","following_url":"https://api.github.com/users/RichardHightower/following{/other_user}","gists_url":"https://api.github.com/users/RichardHightower/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardHightower/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardHightower/subscriptions","organizations_url":"https://api.github.com/users/RichardHightower/orgs","repos_url":"https://api.github.com/users/RichardHightower/repos","events_url":"https://api.github.com/users/RichardHightower/events{/privacy}","received_events_url":"https://api.github.com/users/RichardHightower/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-06T16:58:10Z","updated_at":"2015-11-06T18:34:36Z","closed_at":null,"body":"For example if we have endpoint with Long, String as optional request param. If endpoint is  called without these params, then, Long comes in Long.MIN_VALUE and String comes with empty string (“”).\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/advantageous/qbit/issues/comments/154494857","html_url":"https://github.com/advantageous/qbit/issues/539#issuecomment-154494857","issue_url":"https://api.github.com/repos/advantageous/qbit/issues/539","id":154494857,"user":{"login":"RichardHightower","id":382678,"avatar_url":"https://avatars.githubusercontent.com/u/382678?v=3","gravatar_id":"","url":"https://api.github.com/users/RichardHightower","html_url":"https://github.com/RichardHightower","followers_url":"https://api.github.com/users/RichardHightower/followers","following_url":"https://api.github.com/users/RichardHightower/following{/other_user}","gists_url":"https://api.github.com/users/RichardHightower/gists{/gist_id}","starred_url":"https://api.github.com/users/RichardHightower/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RichardHightower/subscriptions","organizations_url":"https://api.github.com/users/RichardHightower/orgs","repos_url":"https://api.github.com/users/RichardHightower/repos","events_url":"https://api.github.com/users/RichardHightower/events{/privacy}","received_events_url":"https://api.github.com/users/RichardHightower/received_events","type":"User","site_admin":false},"created_at":"2015-11-06T18:34:36Z","updated_at":"2015-11-06T18:34:36Z","body":"The code in question is likely the \r\n\r\n\r\n```java\r\n\r\n\r\npublic class StandardRequestTransformer implements RequestTransformer {\r\n...\r\n\r\n\r\n    @Override\r\n    public MethodCall<Object> transform(final HttpRequest request,\r\n                                        final List<String> errorsList) {\r\n        ...\r\n        loop:\r\n        for (ParameterMeta parameterMeta : parameters) {\r\n\r\n            ParamType paramType = parameterMeta.getParam().getParamType();\r\n\r\n            paramType = paramType == null ? ParamType.BODY : paramType;\r\n\r\n            Object value;\r\n            NamedParam namedParam;\r\n\r\n            if (parameterMeta.getClassType() == Callback.class) {\r\n                continue;\r\n            }\r\n\r\n            switch (paramType) {\r\n                case REQUEST:\r\n                    namedParam = ((NamedParam) parameterMeta.getParam());\r\n                    value = request.params().get(namedParam.getName());\r\n\r\n                    if (namedParam.isRequired() &&  Str.isEmpty(value)) {\r\n                        errorsList.add(sputs(\"Unable to find required request param\", namedParam.getName()));\r\n                        break loop;\r\n\r\n                    }\r\n                    if (Str.isEmpty(value)) {\r\n                        value = namedParam.getDefaultValue();\r\n                    }\r\n                    \r\n                    value = value !=null ? decodeURLEncoding(value.toString()) : value;\r\n\r\n                    break;"}}