1. Spring JPA에서는 findBy(속성)형식으로 쿼리를 간단히 구현이 가능합니다.
예를 들어, 위 사진처럼 작성하면 됩니다.
제가 생성한 객체의 이름은 Literature이고 속성으로 Long 타입의 이름이 id인 속성이 있습니다.
findById()는 경로변수로 id를 받는데 이 id로 해당하는 Literature를 찾아주는 메소드입니다.
이렇게 findBy(객체의 속성) 형식으로 메소드를 쓰면 위 사진의 주석처럼 긴 쿼리를 직접 작성하지 않아도 됩니다.
참고할 점은 findById는 Optional<T>로 반환하는 것이 정해져있다는 점입니다. 저는 get()을 사용하여 이 Optional에서 하나의 객체를 꺼내서 사용했습니다.
2. Gson은 기본적으로 Object를 Json 형식으로 바꿔주는 라이브러리입니다. 그리고 여러 부가기능도 제공하는 라이브러리입니다.
https://github.com/google/gson
여기서 다운받는 법을 참고하면 됩니다. 저는 gradle을 사용중이므로 dependencies에 gson을 추가해주었습니다.
2-1. Gson을 이용해서 List를 Json 형태로 바꾸기
List<객체>를 Json으로 바꾸어 리턴해야하는 경우에 이 방법을 쓰면됩니다.
String json = new Gson().toJson(리스트 이름);
2-2. Gson으로 Json을 예쁘게 보이게 하기
프론트를 맡은 친구가 요청해서 인터넷에 검색해보았더니 Gson을 사용하는 이 방법이 가장 간단했습니다.
Gson gson = new GsonBuilder().setPrettyPrinting().create();
저는 이 2가지 방법을 모두 사용해서 아래와 같이 코드를 작성하였습니다.
List<Literature> literatureList= literatureRepository.findAll();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(literatureList);
return json;
Literature객체를 담은 List를 생성하고 Gson에 Json을 예쁘게 보이게 할 수 있게 만들고 이 List를 gson의 toJson() 메소드를 이용하여 json으로 바꿉니다. 이렇게하면 아래와 같이 Json이 만들어지게 됩니다.
[
{
"id": 1,
"title": "별 헤는 밤"
},
{
"id": 2,
"title": "서시"
}
]
'졸업프로젝트' 카테고리의 다른 글
[그로쓰][Spring boot/ AWS EC2] 외부 설정 파일, 내부 설정 파일 끌어오기의 차이점 (0) | 2022.04.21 |
---|---|
[그로쓰][Spring Boot Data JPA / AWS S3/ AWS RDS] Spring Boot에서 AWS RDS와 S3에 함께 정보를 저장하기 (0) | 2022.04.11 |
[그로쓰][AWS] Route 53, ACM, ELB로 https 적용하기- 대상 그룹 설정하기 - 본편 및 오류 해결 (0) | 2022.04.11 |
[그로쓰][Mysql/MariaDB] 한글 insert가 안 된다2 (Workbench, SSL Error) (0) | 2022.01.30 |
[스타트][Mysql/MariaDB] 한글 insert가 안 된다. (0) | 2021.11.24 |