์๋ฒ์์ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ฉด ํด๋ผ์ด์ธํธ์์ ๊ทธ ๊ฐ์ฒด ๊ฐ์ ๋ฐ์ ์ ์๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋๋ฐ, ๊ฐ์ ๋ฐ๋ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก ๋ฌธ์์ด๋ก ๋ฐ๋ ๊ฒ์ด๋ค.
๋ฐ์ดํฐ ํํ๋ xml, csv, json ๋ฑ์ด ์๋ค.
csv๋ ์ผํ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ๊ตฌ๋ถํ๋ ๋ฐ์ดํฐ์ด๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ์์ ๊ณต์ง์ฌํญ์ด๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค๊ณ ํ์ ๋๋ฅผ ๊ฐ์ ํด๋ณด์. csv ํ์ ์ ๊ตฌ๋ถ์๊ฐ ์ผํ ๋ฟ์ด๋ฏ๋ก ์ด๋ค ๊ฒ ์ ๋ชฉ์ด๊ณ ๋ด์ฉ์ธ์ง ๊ตฌ๋ถํ๊ธฐ๊ฐ ์ด๋ ต๋ค.
csv์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ด xml์ด๋ค. xml์ ์ด์ฉํ๋ฉด ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ, ์ฆ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ค์ฒฉํด์ ๋ ํฐ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ ์ ์๋ค. ํ์ง๋ง ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ๋น๋ํด์ง๊ณ ์ฑ๋ฅ์ด ์ ์ข๋ค๋ ๋จ์ ์ด ์๋ค.
์์ฆ์๋ csv์ xml์ ์ฅ์ ์ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ json์ ๋ง์ด ์ฌ์ฉํ๋ค. ์ด๋ก ์ธํด ๋ฐ์ดํฐ์ ๊ฒฝ๋ํ๋ ๊ฐ๋ฅํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๊ตฌ๋ถํ ์๋ ์๋ค. ์๋ json์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ด์ง๋ง ์ง๊ธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋์ด์์ ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉ๋๊ณ ์๋ค.
NoticeController.java
@RestController("apiNoticeController")
@RequestMapping("/api/notice/")
public class NoticeController {
@Autowired
private NoticeService service;
@RequestMapping("list")
public List<Notice> list() throws ClassNotFoundException, SQLException {
List<Notice> list = service.getList(1, "title", "");
return list;
}
}
pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
</dependency>
pom.xml์ jackson-databind ๋ํ๋์๋ฅผ ์ถ๊ฐํ๋ค. NoticeController์์๋ ๋ฐ์ดํฐ ์ ์์ ์ฌ์ฉํ NoticeService ๊ฐ์ฒด๋ฅผ ์ฃผ์ ํ๊ณ ๋ฆฌํด ํ์ ์ select ๊ฒฐ๊ณผ๋ฌผ์ธ List<Notice>์ผ๋ก ์ค์ ํ๊ณ ๋ฆฌํดํ๋ค. ๊ทธ๋ฆฌ๊ณ ์คํํด ๋ณธ๋ค.
๋ฆฌํดํ๋ List<Notice>๊ฐ json ํ์ ์ผ๋ก ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์๋ฒ์์ ๋ณด๋ธ ๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ json์ผ๋ก ๋ฐํํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋๋ฐ, ์คํ๋ง์์๋ ๊ฐ์ฒด ํ์ ์ผ๋ก ๋ฐํ๊ฐ์ ๋์ง๋ฉด ์์์ json์ผ๋ก ๋ณํํด ์ค๋ค. ๊ณต์ง์ฌํญ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์์ ๋ ๋ฐ๋ณต๋ฌธ์ ํตํด ์ผ์ผ์ด ๋ฌธ์์ด๋ก ํฌ๋งทํ๋ ๊ฒ์ ์์ฃผ ๊ท์ฐฎ์ ์ผ์ธ๋ฐ ์คํ๋ง์ด ์ด๊ฒ์ ๋์ ํด์ฃผ๋ ํธํ๊ฒ ํ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
'๐ปStudy > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
POST ์ ๋ ฅ (ํ ์คํธ๋ฐ์ค, ์ฝค๋ณด๋ฐ์ค, ์ฒดํฌ๋ฐ์ค, ๋ผ๋์ค๋ฒํผ) / ํํฐ๋ฅผ ์ด์ฉํ ํ๊ธ ์ธ์ฝ๋ฉ (0) | 2021.03.04 |
---|---|
์ ๋ ฅ์ ์ข ๋ฅ / QueryString ์ ๋ ฅ (0) | 2021.03.04 |
@RestController์ ํ๊ธ ์ถ๋ ฅ ์ค์ (0) | 2021.03.03 |
๋ฌธ์ ์ถ๋ ฅ ๋ฐฉ๋ฒ 4๊ฐ์ง, @ResponseBody (0) | 2021.03.03 |
์ปจํธ๋กค๋ฌ๋ฅผ ์ํ ์ด๋ ธํ ์ด์ ๊ฐ๋ ์ ๋ฆฌ (0) | 2021.03.03 |