private static String buildResource()

in src/main/java/com/alibaba/cloudapi/sdk/util/SignUtil.java [155:194]


    private static String buildResource(ApiRequest request) {
        StringBuilder result = new StringBuilder();
        result.append(request.getPath());

        //使用TreeMap,默认按照字母排序
        TreeMap<String , String> parameter = new TreeMap<String , String>();
        if(null!= request.getQuerys() && request.getQuerys().size() > 0){
            for(Map.Entry<String , List<String>> entry : request.getQuerys().entrySet()){
                if(entry.getValue() != null) {
                    parameter.put(entry.getKey(), entry.getValue().get(0));
                }
            }
        }

        if(null != request.getFormParams() && request.getFormParams().size() > 0){
            for(Map.Entry<String , List<String>> entry : request.getFormParams().entrySet()){
                if(entry.getValue() != null) {
                    parameter.put(entry.getKey(), entry.getValue().get(0));
                }
            }
        }

        if(parameter.size() > 0) {
            result.append("?");
            boolean isFirst = true;
            for (String key : parameter.keySet()) {
                if (isFirst == false) {
                    result.append("&");
                } else {
                    isFirst = false;
                }
                result.append(key);
                String value = parameter.get(key);
                if(null != value && !"".equals(value)){
                    result.append("=").append(value);
                }
            }
        }
        return result.toString();
    }