간단한 형식을 갖는 문자열로 데이터 교환에 주로 사용.
{
"name":"유관순",
"birthday":"1902-12-16",
"age":17,
"edu": [
{
"title":"이화학당보통과",
"year":1916,
},
{
"title":"이화학당고등과",
"year":1916,
},
{
"title":"이화학당고등과",
"year":1919,
}
]
}
Jackson: 자바 객체와 JSON 형식 문자열 간 변환을 처리하는 라이브러리.
Spring MVC에서 Jackson 라이브러리를 이요해 자바 객체를 JSON으로 변환하려면 클래스 패스에 Jackson 라이브러리를 추가하면 된다. 이를 위해 pom.xml 파일에 Jackson 관련 의존을 추가한다.
https://github.com/FasterXML/jackson-docs
public class Person {
private String name;
private int age;
}
{
"name":"이름",
"age":10
}
@RestController
public class RestMemberController {
private MemberDao memberDao;
private MemberRegisterService registerService;
@GetMapping("api/members")
public List<Member> members() {
return memberDao.selectAll();
}
@GetMapping("api/members/{id}")
public Member member(@PathVariable Long id, HttpServletResponse response) throws IOException {
Member member=memberDao.selectById(id);
if (member==null) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return null;
}
return member;
}
public void setMemberDao(MemberDao memberDao) {
this.memberDao=memberDao;
}
public void setRegisterService(MemberRegisterService registerService) {
this.registerService=registerService;
}
}
@Configuration
public class ControllerConfig {
... 생략
@Bean
public RestMemberController restApi() {
RestMemberController cont=new RestMemberController();
cont.setMemberDao(memberDao);
cont.setRegisterService(memberRegSvc);
return cont;
}
}