package com.gree.mall.miniapp.utils.http;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

/**
 * Created by Administrator on 2019/8/23 0023.
 */
public class RequestHeaderUtil {
    /**
     * 解析网关传过来的请求头为对应的对象
     * @param header 请求头的值
     * @param clazz 解析成的对象类型
     * @param <T> 泛型
     * @return 解析后的对象
     */
    public static <T> T parseGatewayRequestHeader(String header, Class<T> clazz) {
        if (StringUtils.isBlank(header)) {
            return null;
        }
        try {
            //先对数据进行url decode
            String decodeHeader = URLDecoder.decode(header, "utf-8");
            //解析成对象返回
            return JSONObject.parseObject(decodeHeader, clazz);
        } catch (UnsupportedEncodingException e) {
            return null;
        }
    }
}
