public static Map prepareSignHeader()

in src/main/java/com/alibaba/yjopenapi/client/api/ApiClient.java [670:712]


    public static Map<String, String> prepareSignHeader(Map<String, String> queryParams, Map<String, Object> formParams, String method, Configuration configuration)
        throws ApiException {

        String nonce = UUID.randomUUID().toString().replaceAll("-", "");
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        df.setTimeZone(new SimpleTimeZone(0, "GMT"));
        String timestamp = df.format(new Date());
        String signatureMethod = configuration.getSignatureMethod();
        String signatureVersion = configuration.getSignatureVersion();
        String accessKey = configuration.getAccessKey();

        Map<String, String> parameters = new HashMap<String, String>();
        // 加入公共请求参数
        parameters.put("SignatureMethod", signatureMethod);
        parameters.put("SignatureNonce", nonce);
        parameters.put("SignatureVersion", signatureVersion);
        parameters.put("AccessKey", accessKey);
        parameters.put("Timestamp", timestamp);

        if (queryParams != null && !queryParams.isEmpty()) {
            parameters.putAll(queryParams);
        }

        if (formParams != null && !formParams.isEmpty()) {
            for (Entry<String, Object> param : formParams.entrySet()) {
                parameters.put(param.getKey(), parameterToString(param.getValue()));
            }
        }

        try {
            Map<String, String> headers = new HashMap<String, String>();
            headers.put("Signature", md5(getSignRaw(parameters, method, configuration.getSecretKey())));
            headers.put("Accesskey", accessKey);
            headers.put("Signaturenonce", nonce);
            headers.put("Signatureversion", signatureVersion);
            headers.put("Timestamp", timestamp);
            headers.put("Signaturemethod", signatureMethod);

            return headers;
        } catch (Exception e) {
            throw new ApiException(e);
        }
    }