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>
网友评论