JSON 응답
클라이언트는 서버를 거쳐서 DB에 접근한다. 클라이언트가 DB에서 필요한 정보를 얻기 위해,
서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가 포함된 데이터를 보내준다.
이 때, 서버가 보내주는 데이터는 클라이언트가 해석하기 쉬우면 좋고, 내용이 간결해서 전송속도가 빠르면 좋을 것입니다. 그래서 사용하는 데이터의 형식 중 대표적인 하나가 JSON입니다. Jackson 라이브러리 는 JAVA Object 형태의 값을 데이터 구조를 표현하는 방식인 XML 또는 JSON 형태로 만들어 보낼때 사용하는 라이브러리다.
Jackson 라이브러리 특징
- XML/YAML/CSV 등 다양한 형식의 데이터를 지원
- 스트림 방식으로 속도가 빠르며 유연하고, annotation 방식으로 메타 데이터를 기술할 수 있음
- ObjectMapper API를 사용하여 객체에 데이터 세팅을 함
Spring 3.0 이후부터, 스프링에서 Jackson 관련 API를 제공하여 자동화 처리가 가능하게 됨
Person.java
//person 클래스
public class Person{
private String name;
private String address;
private String job;
//PersonClass에서 getPerson 메서드의 반환타입이 Person이기때문에
//getter로 이값이 전달되서 postman에서 reponse값으로 확인 할 수 있다.
public String getName(){
return this.name;
}
public String getAddress(){
return this.address;
}
public String getJob(){
return this.job;
}
public String address(){
return this.address;
}
public String job(){
return this.job;
}
//PersonController 에서 해당 객체에 값을 넣어주기 위해
public void setName(String name){
this.name = name;
}
public void setAddress(String address){
this.address = address;
}
public void setJob(String job){
this.job = job;
}
}
PersonController.java
@RestController //@RestController를 입은 컨트롤러는 요청 매핑 애노테이션을 붙인
//메서드의 리턴으로 jsp의 경로를 반환하는 것이 아니라 '객체' 를 반환합니다.
public class PersonController{
@GetMapping("/myinfo")
public Person getPerson(){
Person person = new Person();
person.setName("이기재");
person.setAddress("서초구");
person.setJon("개발자");
return person; //jackson라이브러리에서 JAVA Object 형태의 값을 Json형식으로 바꾸어줌
// 자바 객체(Object) <--->JSON형식의 문자열 데이터 변환을 처리하는 라이브러리
}
}
클라이언트에서 Get방식으로 (동적 데이터 조회)
JSON 형식의 데이터 형태로 Response
참고자료
https://jaehoney.tistory.com/69
Spring - 서버에서 객체를 JSON으로 변환 후 응답하기 (+ API 서버 만들기)
JSON 응답? 클라이언트는 서버를 거쳐서 DB에 접근합니다. 클라이언트가 DB에서 필요한 정보를 얻기 위해, 서버에게 데이터를 요청하면 서버에서는 클라이언트가 필요한 데이터 또는 그 데이터가
jaehoney.tistory.com
https://blog.naver.com/PostView.naver?blogId=hj_kim97&logNo=222391370482
[Spring]Spring Jackson 라이브러리 설정 및 사용법
Jackson 라이브러리 Java Object 형태의 값을 데이터 구조를 표현하는 방식인 XML 또는 JSON 형...
blog.naver.com
'java > spring' 카테고리의 다른 글
Spring Security 작동 순서 (0) | 2022.10.13 |
---|---|
스프링 부트 동작 원리 (0) | 2022.10.09 |
Spring IoC (0) | 2022.10.09 |
DI(Dependency Injection) (0) | 2022.10.09 |
Memo api 구현 (0) | 2022.10.07 |
댓글