12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package com.zhentao.controller;
- import cn.hutool.http.HttpRequest;
- import cn.hutool.http.HttpResponse;
- import cn.hutool.json.JSONObject;
- import cn.hutool.json.JSONUtil;
- import org.springframework.util.DigestUtils;
- import java.util.Map;
- import java.util.TreeMap;
- public class Diff {
- private static final String APP_ID = "test_app";
- private static final String APP_SECRET = "12";
- private static final String API_URL = "http://localhost:8080/api/hello";
- public static void main(String[] args) {
- Long goodsId = 123L;
- String reqId = "req_123";
- Long reqTime = System.currentTimeMillis();
- Map<String, String> params = new TreeMap<>(); // TreeMap自动按key排序
- params.put("goodsId", goodsId.toString());
- params.put("reqId", reqId);
- params.put("reqTime", reqTime.toString());
- params.put("appId", APP_ID);
- StringBuilder sb = new StringBuilder();
- for (Map.Entry<String,String> entry:params.entrySet()) {
- sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
- }
- sb.append(APP_SECRET);
- String sign = DigestUtils.md5DigestAsHex(sb.toString().getBytes());
- HttpResponse response = HttpRequest.get(API_URL + "?goodsId=" + goodsId)
- .header("reqId", reqId)
- .header("reqTime", reqTime.toString())
- .header("appId", APP_ID)
- .header("sign", sign)
- .execute();
- JSONObject json = JSONUtil.parseObj(response.body());
- String status = json.getStr("status");
- if ("200".equals(status)) {
- System.out.println("响应结果: " + json);
- System.out.println("商品名称: " + json.getStr("data"));
- }else {
- System.err.println("响应结果: " + json);
- System.err.println("请求失败,状态码: " + status);
- }
- }
- }
|