티스토리 뷰

Java

[Java] HttpURLConnection을 이용하여 api 호출

IT공부블로그 2020. 4. 6. 20:24
728x90
반응형
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
public static String execute(String method, final String url, final JSONObject parameters) {
        HttpURLConnection connection = null;
        
        String result ="";
        int methodCase = 0;
        if(method.toUpperCase().equals("POST")) methodCase = 1;
        try {
            switch (methodCase) {
                case 0:
                    connection = openConnection(url.concat("?").concat(formEncode(parameters)));
                    connection.setRequestMethod("GET");
                    connection.setConnectTimeout(3000);
                    connection.connect();
                    break;
                case 1:
                    connection = openConnection(url);
                    connection.setRequestMethod("POST");
                    connection.setDoOutput(true);
                    connection.setRequestProperty("Content-Type""application/json");
                    connection.setConnectTimeout(3000);
                    connection.connect();
                    final OutputStream out = connection.getOutputStream();
                    
                    out.write(parameters.toString().getBytes());
                    out.flush();
                    out.close();
                    break;
            }
            final int statusCode = connection.getResponseCode();
            if (statusCode / 100 != 2) {
                // 400, 401, 501
                result = "{\"error\":"+statusCode+"}";
            }else{
                result = readInputStream(connection.getInputStream());
            }
        } catch (IOException e) {
            Logger.getLogger( HttpJsonUtil.class ).error( "HttpJsonUtil.execute--Error : ", e);
            return result;
        } finally {
            if (connection != null) connection.disconnect();
        }
        
        return result;
    }

ex) class.execute("POST", "http://127.0.0.1:8080/test/test1", null)

cs


728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
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
글 보관함