@Override
    public boolean processArgument(final ShenyuRequest shenyuRequest, final Annotation annotation, final Object arg) {
        RequestTemplate requestTemplate = shenyuRequest.getRequestTemplate();
        RequestParam requestParam = ANNOTATION.cast(annotation);
        String name = requestParam.value();
        checkState(emptyToNull(name) != null || arg instanceof Map, "RequestParam.value() was empty on parameter %s#%s",
            requestTemplate.getMethod().getDeclaringClass().getSimpleName(), requestTemplate.getMethod().getName());
        StringBuilder pathResult = new StringBuilder(requestTemplate.getPath());
        Map<Object, Object> params = Maps.newHashMap();
        if (!(arg instanceof Map) && !(arg instanceof MultipartFile)) {
            params.put(name, arg);
        } else if (arg instanceof Map) {
            params = (Map<Object, Object>) arg;
        }
        params.forEach((key, value) -> {
            if (pathResult.indexOf("?") > 0) {
                pathResult.append("&");
            } else {
                pathResult.append("?");
            }
            pathResult.append(key).append("=").append(value);
        });
        shenyuRequest.setUrl(requestTemplate.getUrl() + pathResult);
        return true;
    }
@Test
    public void processArgumentNullTest() {
        RequestTemplate template = new RequestTemplate(Void.class, method1, "method1", "/dev/url/param", "", "/path", ShenyuRequest.HttpMethod.GET, null, null, null);
        this.request = ShenyuRequest.create(ShenyuRequest.HttpMethod.POST, "", Maps.newHashMap(), "", "test", template);
        final RequestParam param = spy(RequestParam.class);
        when(param.value()).thenReturn("");

        assertThrows(IllegalStateException.class, () -> processor.processArgument(request, param, ""));
    }