์ํฐํฐ์ ๋ํ ์์ฑ์๊ฐ, ์์ ์๊ฐ์ ํ๋ก์ ํธ์์ ๊ต์ฅํ ๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ ํ๋์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋๋ฝ์์ด ๊ด๋ฆฌ๋์ด์ผ ํ๋ค. ์์ฑ์ ๊ทธ๋ ๋ค ํด๋ ์์ ์๊ฐ์ ๊ฒฝ์ฐ ๊ฐ๋ฐ์๊ฐ ๋ชจ๋ ์ ๊ฒฝ์จ์ค์ผ ํ๋ค๋ฉด ์กฐ๊ธ ๊ณจ์น ์ํ๋ค.. ๊ทธ๋์ ์ด๋ฅผ ์๋ํํ ์ ์๋ EntityListener
๋ฅผ ์ฌ์ฉํ๋ค.
[ Listner๋ฅผ ์ ์ฉ์ํค๊ณ ์ ํ๋ ํ๋๋ฅผ ๊ฐ๋ ์ํฐํฐ์ ์ถ๊ฐ ]
@EntityListener(AuditingEntityListener.class)
+
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
+
@EnableJpaAuditing
API๋ฅผ ํธ์ถํ๊ณ ์๋ต์ String ํ์ ์ผ๋ก ๋ฐ์๋ค๊ณ ํ ๋ ์ด๋ String ํ์ ์ด์ง๋ง Jsonํฌ๋ฉง์ ๊ฐ๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
Jsonํ์ ๊ฐ์ฒด๋ก ๋ณํํด์ฃผ์ด์ผ ์๋ต๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ ์ ์๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ (์์กด์ฑ ์ค์ )
Maven Repository - Json In Java ๊ฒ์
implementation group: 'org.json', name: 'json', version: '20160810'
JSONObject ๋ก ๋ณํ
JSONObject
์์ฑํ๋ค.JSONObject jsonObject = new JSONObject(data)
JSONObject
์ ๋ฆฌ์คํธ๊ฐ ์๋ค๋ฉด ?? JSONArray items = jsonObject.getJSONArray("key");
for (int i=0;i<items.length;i++) {
items.getJSONObject(i).getString("key1");
items.getJSONObject(i).getInt("key2");
...
}
Spring์ ๋ค๋ฅธ ์๋ฒ๋ก์ ์์ฒญ์ ์ํด ์ฌ๋ฌ ๋ฐฉ์์ ์ ๊ณตํ๋ค. ์ด ์ค ํ๋์ธ RestTemplate
๋ฅผ ์ฌ์ฉํด๋ดค๋ค.
์ด๊ธฐํ ๋ฐ ํค๋ ๊ตฌ์ฑ
RestTemplate client = new RestTemplate();
// ๋ณดํต api ํธ์ถ์ ํ์ํ ํค ๊ฐ์ ๊ตฌ์ฑ
HttpHeaders headers = new HttpHeaders();
headers.add("key1", "value1");
headers.add("key2", "value2");
์์ฒญ ๊ฐ์ฒด๊ตฌ์ฑ - HttpEntity
HttpEntity<๋ฆฌํดํ์
> request = new HttpEntity<>(์์ฒญbody, ์์ฒญheader);
ํธ์ถ
request.exchange(์์ฒญurl, ์์ฒญ๋ฉ์๋, ์์ฒญ๊ฐ์ฒด, ๋ฆฌํดํ์
);
1์ฃผ์ฐจ์ ์น ๊ธฐ์ ์ ๋ํ ์ ๋ฐ์ ์ธ ๋ด์ฉ์ ์์๋ณด์๊ณ ์ด์ ์ด๋ฒ ์บ ํ์์ ๊ฐ๊ณ ๋ฆ์ ๋ฌด๊ธฐ๊ฐ ๋ ์คํ๋ง์ ๋ํด ํ๋ก์ ํธ๋ฅผ ํตํด ๊ฐ๋ณ๊ฒ ์์๋ณด์๋ค.
๊ทธ๋๋ ๊ฒฝํ์ด ์๋ ํ๋ ์์ํฌ๋ผ์ ํ์ ์ ์ฐก๊ทธ๋ฆฌ์ง ์๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ ์ ์์๋ค ๐