사진과 같은 방식으로 호출하고
respons 값이 리턴된다고 했을 때 아래와 같이 작성했다.
먼저 spring boot 라 pom.xml 파일에 아래 내용 추가
1
2
3
4
5
|
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.10.0</version>
</dependency>
|
cs |
대략적인 자바소스
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
|
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
public HashMap getToken(HttpServletRequest req, HttpServletResponse res) throws IOException, ParseException {
HashMap<String, Object> model = new HashMap<String, Object>();
HttpURLConnection conn = null;
String username = req.getParameter("username1");
String password = req.getParameter("password");
HashMap token_map = null;
try {
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username="+ username +"&password="+ password +"");
Request request = new Request.Builder()
.url("url")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
// 응답 받아서 처리
ResponseBody res_body = response.body();
if (body != null) {
JsonParser parser = new JsonParser();
JsonElement jsonElement = parser.parse(res_body.string());
JsonObject jsonObj = jsonElement.getAsJsonObject();
token_map = new HashMap();
token_map.put("access_token", jsonObj.get("access_token").getAsString());
token_map.put("token_type", jsonObj.get("token_type").getAsString());
token_map.put("refresh_token", jsonObj.get("refresh_token").getAsString());
token_map.put("expires_in", jsonObj.get("expires_in").getAsString());
token_map.put("scope", jsonObj.get("scope").getAsString());
model.put("token_map", token_map);
}
}else {
System.err.println("Error");
}
} catch (Exception e) {
e.printStackTrace();
}
return token_map;
}
|
cs |
okhttp3를 이용하여 이미지와 같이 리턴되는 값을 map 에 넣어 리턴했다.
'WORK > JAVA' 카테고리의 다른 글
jsp 엑셀다운로드 받기 (3) | 2023.11.29 |
---|---|
MyBatis XML resultMap의 list 에 list 조회하기 (0) | 2023.11.07 |
spring boot 에러페이지 만들기 (1) | 2022.11.01 |
이클립스 git 접속정보 저장 (1) | 2022.09.29 |
이클립스 GitHub 연동시 cannot open git-upload-pack에러 (0) | 2022.08.02 |