基于mall4j产品的二开项目后端
lee
2024-12-18 efdb99f8cecc4afb592afad79c761081d5d5cf22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package com.yami.shop.systemtest.util;
 
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.yami.shop.common.util.Json;
import com.yami.shop.systemtest.constants.Constant;
 
import java.util.List;
 
public class HttpUtil {
 
 
    public static void get(String url) {
        HttpResponse response = doGet(url);
        CheckUtil.check(response);
    }
 
    public static <T> T get(String url, Class<T> clazz) {
        HttpResponse response = doGet(url);
        return CheckUtil.checkAndGetObject(response,clazz);
    }
 
    public static <T> List<T> getResultArray(String url, Class<T[]> clazz) {
        HttpResponse response = doGet(url);
        return CheckUtil.checkAndGetArray(response,clazz);
    }
 
 
    public static void post(String url, Object obj) {
        HttpResponse response = doPost(url, obj);
        CheckUtil.check(response);
    }
 
    public static <T> T post(String url, Object obj, Class<T> clazz) {
        HttpResponse response = doPost(url, obj);
        return CheckUtil.checkAndGetObject(response,clazz);
    }
 
    public static <T> List<T> postResultArray(String url, Object obj, Class<T[]> clazz) {
        HttpResponse response = doPost(url, obj);
        return CheckUtil.checkAndGetArray(response,clazz);
    }
 
 
    public static void put(String url, Object obj) {
        HttpResponse response = doPut(url, obj);
        CheckUtil.check(response);
    }
 
    public static <T> T doPut(String url, Object obj, Class<T> clazz) {
        HttpResponse response = doPut(url, obj);
        return CheckUtil.checkAndGetObject(response,clazz);
    }
 
    public static <T> List<T> putResultArray(String url, Object obj, Class<T[]> clazz) {
        HttpResponse response = doPut(url, obj);
        return CheckUtil.checkAndGetArray(response,clazz);
    }
 
 
    public static void delete(String url) {
        HttpResponse response = doDelete(url);
        CheckUtil.check(response);
    }
 
    public static <T> T delete(String url, Class<T> clazz) {
        HttpResponse response = doDelete(url);
        return CheckUtil.checkAndGetObject(response,clazz);
    }
 
    public static <T> List<T> deleteResultArray(String url, Class<T[]> clazz) {
        HttpResponse response = doDelete(url);
        return CheckUtil.checkAndGetArray(response,clazz);
    }
 
 
 
    private static HttpResponse doGet(String url) {
        HttpRequest postRequest = HttpRequest.get(url);
        setHeader(postRequest);
        return postRequest.execute();
    }
 
    private static HttpResponse doPost(String url, Object obj) {
        HttpRequest postRequest = HttpRequest.post(url);
        setHeader(postRequest);
        return postRequest
                .body(Json.toJsonString(obj))
                .execute();
    }
 
    private static HttpResponse doPut(String url, Object obj) {
        HttpRequest postRequest = HttpRequest.put(url);
        setHeader(postRequest);
        return postRequest
                .body(Json.toJsonString(obj))
                .execute();
    }
 
    private static HttpResponse doDelete(String url) {
        HttpRequest postRequest = HttpRequest.get(url);
        setHeader(postRequest);
        return postRequest.execute();
    }
 
    private static HttpRequest setHeader(HttpRequest httpRequest) {
        String url = httpRequest.getUrl();
        if (url.startsWith(Constant.API_URL)) {
            httpRequest.header("authorization", Constant.API_TOKEN);
        }
        if (url.startsWith(Constant.SHOP_URL)) {
            httpRequest.header("authorization", Constant.SHOP_TOKEN);
        }
        if (url.startsWith(Constant.PLATFORM_URL)) {
            httpRequest.header("authorization", Constant.PLATFORM_TOKEN);
        }
        return httpRequest;
    }
}