오늘이라도
[II. 스프링 웹 개발 기초] 7. API 본문
반응형
https://github.com/upcake/hello-spring
오늘의 단축키
- 자동 마무리 : Ctrl + Shift + Enter
- Generate 메뉴 : Alt + Insert
1. API
- 정적 컨텐츠 방식을 제외하면 HTML로 내리나 API 방식으로 데이터를 내리나 두 가지 방식만 기억하자
- 일반적으론 객체를 반환하는 것을 의미한다.
2. @ResponseBody
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name) {
return "hello " + name;
}
- Http에서 응답 Body부에 데이터를 직접 넣어주겠다는 의미
- return이 view로 가지 않고 문자열이 그대로 내려간다.
- HTML 태그 없이 입력한 문자가 그대로 내려옴
3. 객체
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name) {
Hello hello = new Hello();
hello.setName(name);
return hello;
}
//클래스 내부에 static으로 class를 만들면 클래스안에서 해당 클래스를 사용할 수 있다. HelloController.Hello 자바에서 정식으로 지원하는 문법
static class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
- Getter / Setter : Java Bean 표준방식, Property 접근 방식 등등이라고 한다
-
- JSON 형식으로 출력되었다.
4. ResponseBody의 사용 원리
- 객체가 오면 기본적으로 JSON 형식으로 만들어서 Http 응답으로 한다.
- Json 라이브러리는 크게 Jackson / Gson 두 가지가 있고, 스프링은 기본적으로 Jackson을 사용한다.
반응형
'인프런 > 스프링 입문 (김영한)' 카테고리의 다른 글
[III. 회원 관리 예제 - 백엔드 개발] 9. 회원 도메인과 리포지토리 만들기 (0) | 2021.12.28 |
---|---|
[III. 회원 관리 예제 - 백엔드 개발] 8. 비즈니스 요구사항 정리 (0) | 2021.12.28 |
[II. 스프링 웹 개발 기초] 6. MVC와 템플릿 엔진 (0) | 2021.12.23 |
[II. 스프링 웹 개발 기초] 5. 정적 컨텐츠 (0) | 2021.12.23 |
[I. 프로젝트 환경설정] 4. 빌드하고 실행하기 (0) | 2021.12.23 |