调用极光的方法,详情请去极光推送官方文档查看。
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_4
一。写HttpsController类方便调用
package com.javajy.controller;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.framework.frext.controller.common.GenericController;
import org.framework.frext.util.Ajax;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.javajy.util.HttpClientUtils;
import com.javajy.vo.Https;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("/Https/")
public class HttpsController extends GenericController{
private static Logger logger = Logger.getLogger(HttpsController.class);//日志方便打印
private static final String URL = "https://device.jpush.cn";//极光访问URL
private static final String APPKEY ="******";//极光用户名
private static final String MASTERSECRET ="*********";//极光密码
//查询别名(找不到统计项就是 null,否则为统计项的值。)
@RequestMapping(value = "getAliases", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> getAliases(@RequestBody Https ht) {
JSONObject response = null;
try {
StringBuilder url = new StringBuilder(URL).append("/v3/aliases/"+ht.getAlias_value());
String authorValue = getBase64();
Map<String, String> para = new HashMap<>();
response = HttpClientUtils.doGet(url.toString(), authorValue, para);
/* JSONObject jsonResponse = (JSONObject)response.get("error");
String string2 = (String)jsonResponse.get("message");
logger.info("---------"+string2);*/
if (StringUtils.isNotEmpty((String) response.get("error"))) {
logger.info("getAliases:url+params----" + url + para);
return Ajax.buildErrorResult((String) response.get("error"));
}
} catch (Exception e) {
e.printStackTrace();
logger.error("getAliases:url+params----" + e);
}
return Ajax.getSuccessReturnMapWithData(response);
}
public static String getBase64(){
Base64 base64 = new Base64();
String base64Sign ="";
String string = APPKEY+":"+MASTERSECRET;
try {
base64Sign = base64.encodeToString(string.getBytes("UTF-8"));
System.out.println(base64Sign);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return " Basic "+base64Sign;
}
}
二。这是自定义的类用来传参数
package com.javajy.vo;
public class Https {
private String token;
private String alias_value;//别名值
private String registration_id;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getAlias_value() {
return alias_value;
}
public void setAlias_value(String alias_value) {
this.alias_value = alias_value;
}
public String getRegistration_id() {
return registration_id;
}
public void setRegistration_id(String registration_id) {
this.registration_id = registration_id;
}
}
三。方法中的doget,dopost方法,可查看我这篇文章调用
https://blog.csdn.net/haopingping_88/article/details/81136211