Diff.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.zhentao.controller;
  2. import cn.hutool.http.HttpRequest;
  3. import cn.hutool.http.HttpResponse;
  4. import cn.hutool.json.JSONObject;
  5. import cn.hutool.json.JSONUtil;
  6. import org.springframework.util.DigestUtils;
  7. import java.util.Map;
  8. import java.util.TreeMap;
  9. public class Diff {
  10. private static final String APP_ID = "test_app";
  11. private static final String APP_SECRET = "12";
  12. private static final String API_URL = "http://localhost:8080/api/hello";
  13. public static void main(String[] args) {
  14. Long goodsId = 123L;
  15. String reqId = "req_123";
  16. Long reqTime = System.currentTimeMillis();
  17. Map<String, String> params = new TreeMap<>(); // TreeMap自动按key排序
  18. params.put("goodsId", goodsId.toString());
  19. params.put("reqId", reqId);
  20. params.put("reqTime", reqTime.toString());
  21. params.put("appId", APP_ID);
  22. StringBuilder sb = new StringBuilder();
  23. for (Map.Entry<String,String> entry:params.entrySet()) {
  24. sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
  25. }
  26. sb.append(APP_SECRET);
  27. String sign = DigestUtils.md5DigestAsHex(sb.toString().getBytes());
  28. HttpResponse response = HttpRequest.get(API_URL + "?goodsId=" + goodsId)
  29. .header("reqId", reqId)
  30. .header("reqTime", reqTime.toString())
  31. .header("appId", APP_ID)
  32. .header("sign", sign)
  33. .execute();
  34. JSONObject json = JSONUtil.parseObj(response.body());
  35. String status = json.getStr("status");
  36. if ("200".equals(status)) {
  37. System.out.println("响应结果: " + json);
  38. System.out.println("商品名称: " + json.getStr("data"));
  39. }else {
  40. System.err.println("响应结果: " + json);
  41. System.err.println("请求失败,状态码: " + status);
  42. }
  43. }
  44. }