美文网首页
常用代码

常用代码

作者: 慵懒的阳光丶 | 来源:发表于2019-08-27 15:19 被阅读0次

1.获取前一天日期,格式:2019-08-03

  //获取前一天日期,格式:2019-08-03
    public String preDate(){
        Calendar cal=Calendar.getInstance();
        cal.add(Calendar.DATE,-1);
        Date d=cal.getTime();
        SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd");
        String yesterday=sp.format(d);//获取昨天日期
        return yesterday;
    }

2.基于Gson的Json工具类

public class JsonUtils {
    /**
     * 将传入的json字符串按类模板解析成对象
     * @param json 需要解析的json字符串
     * @param cls 类模板
     * @return 解析好的对象
     */
    public static <T> T getObj(String json,Class<T> cls){
        Gson gson = new Gson();
        T bean = (T) gson.fromJson(json, cls);
        return bean;
    }
    /**
     * 将传入的对象解析成json字符串
     * @param bean 需要解析的对象
     * @return 解析完成的json字符串
     */
    public static <T> String getJsonString(T bean){
        Gson gson = new Gson();
        String json = gson.toJson(bean, bean.getClass());
        return json;
    }
    /**
     * 将获取到的json字符串转换为对象集合进行返回
     * @param jsonData 需要解析的json字符串
     * @param cls 类模板
     * @return
     */
    public static <T> List<T> getObjList(String jsonData, Class<T> cls){
        List<T> list = new ArrayList<T>();
        if (jsonData.startsWith("[") && jsonData.endsWith("]")) {//当字符串以“[”开始,以“]”结束时,表示该字符串解析出来为集合
            //截取字符串,去除中括号
            jsonData = jsonData.substring(1, jsonData.length() -1);
            //将字符串以"},"分解成数组
            String[] strArr = jsonData.split("\\},");
            //分解后的字符串数组的长度
            int strArrLength = strArr.length;
            //遍历数组,进行解析,将字符串解析成对象
            for (int i = 0; i < strArrLength; i++) {
                String newJsonString = null;
                if (i == strArrLength -1) {
                    newJsonString = strArr[i];
                } else {
                    newJsonString = strArr[i] + "}";
                }
                T bean = getObj(newJsonString, cls);
                list.add(bean);
            }
        }
        if (list == null || list.size() == 0) {
            return null;
        }
        return list;
    }
}

3.restTemplate添加请求头获取数据,并封装成List

 @Test
    public void testSha1(){
        String RAND = "332434ABDJLJLHG";
        String APPSECRET = "fbb226dd6857af1c27745f2b6b06252c";
        String APPKEY = "c471427e7da84932af2ffda8c14f9634";
        String curr_mill = String.valueOf(System.currentTimeMillis());
        String url = "http://114.116.96.8:8026/gateway/app/GetStatusList.json";
        HttpHeaders requestHeaders = new HttpHeaders();
        requestHeaders.add("timestamp",curr_mill);
        requestHeaders.add("appkey", APPKEY);
        requestHeaders.add("rand", RAND);
        Sha1Hash sha1Hash = new Sha1Hash(curr_mill+"_"+RAND+"_"+APPSECRET);
        String signature_sec = sha1Hash.toHex().toUpperCase();
        requestHeaders.add("signature", signature_sec);
        HttpEntity<String> requestEntity = new HttpEntity<>(requestHeaders);
        ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
        String equipmentInfoList = response.getBody();
        List<EquipmentInfoList> equipmentInfoLists  = JsonUtils.getObjList(equipmentInfoList,EquipmentInfoList.class);
        System.out.println(equipmentInfoLists.size());
    }

RestTemplate 添加请求头headers和请求体body

RestTemplate 添加请求头headers和请求体body
//headers
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.add("api-version", "1.0");
//body
MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
requestBody.add("roundid", "1");
//HttpEntity
HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestBody, requestHeaders);
RestTemplate restTemplate = new RestTemplate();
//post
ResponseEntity<String> responseEntity = restTemplate.postForEntity("http://xxx", requestEntity, String.class);
 System.out.println(responseEntity.getBody());

4.maven配置阿里仓库

国内最好的maven repository
第一种:修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

第二种: setting.xml或者pom.xml文件里添加

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>  

相关文章

  • 常用代码

    手机号输入框

  • 常用代码

    大幅度达到

  • 常用代码

    UITableView 侧滑返回执行协议方法

  • 常用代码

    记录一些平时项目中用到的代码 ES7相关 Async/Await await可以把asnyc当成一个同步函数处理,...

  • 常用代码

    1.设置渐变色

  • 常用代码

    简单代码汇总 1.jQuery定时器 2.判断是否是手机访问 3.判断是否是微信浏览器 4.低版本IE判断 5.判...

  • 常用代码

    个人经常用到又经常忘记的代码,记录在这里,不用一遍遍的去网上查。 UITableview 刷新 滑动到某个位置 U...

  • 常用代码

    异或运算加密 CRC8校验

  • 常用代码

    1.获取前一天日期,格式:2019-08-03 2.基于Gson的Json工具类 3.restTemplate添加...

  • 常用代码

    检查函数返回值的宏 输出错误信息 输出调试信息 打印信息

网友评论

      本文标题:常用代码

      本文链接:https://www.haomeiwen.com/subject/yfueectx.html