[스프링 입문] 2 - (3) API
[API]
- MVC와 달리 View가 필요없다
1. HelloController 수정 (문자용)
- 문자를 출력하는 방법 (잘 사용하지 X)
src - main - java - hello.hellospring - controller - HelloController 클릭 → 강의자료 코드 붙여넣기
☞ @GetMapping("hello-string") : localhost:8080/hello-string 일 때 아래 메서드 호출
☞ @ResponseBody : http에서 헤더부와 바디부가 나눠져 있는데 바디부에 데이터를 직접 넣겠다는 의미
☞ @RequestParam("name") : RequestParam("실제 값") String 설정할 변수 이름
☞ return "hello" + name : hello name 바로 출력
2. HelloController 수정 (데이터용)
- 데이터를 출력하는 방법 (자주 사용)
src - main - java - hello.hellospring - controller - HelloController 클릭 → 강의자료 코드 붙여넣기
☞ @GetMapping("hello-api") : localhost:8080/hello-api 일 때 아래 메서드 호출
☞ @ResponseBody : http에서 헤더부와 바디부가 나눠져 있는데 바디부에 데이터를 직접 넣겠다는 의미
☞ Hello hello = new Hello : Hello 객체 만들기
☞ @RequestParam("name") : RequestParam("실제 값") String 설정할 변수 이름
☞ return hello : hello 라는 객체를 넘겨준다
☞ private : 같은 클래스 내에서만 접근 가능
<결과>
☞ key, value 구조로 이루어진 JSON 방식
☞ key = name, value = hibye
잠깐, 의문점!
private 쓰는 이유는 ?
: private 설정하지 않으면 무분별한 접근과 수정을 막을 수 없기 때문에 보안을 위해서 사용
Getter and Setter는 왜쓰는가
: 불필요한 정보의 유입을 막고 호출 범위를 제한을 두기 위해 Getter 사용
: private를 사용해 외부 접근을 막고 입력된 값을 처리 후 필드에 대입하기 위해 Setter 사용
Getter | Setter |
|
|
이 때 알아둘 단축키!!
1. Generate 에서 Getter and Setter
☞ Fn + Alt + insert + N 입력 후 getter 검색
2. 자동완성
☞ Shift + Ctrl + Enter
※ 과정
localhost:8080/hello-api?name= 실행
↓
내장 톰켓 서버가 입력 받음
↓
스프링에서 Controller 찾기 (늘 controller 우선으로 찾는다)
↓
hello 객체 호출
↓
ResponeseBody
↓
MVC의 View 대신에 Http Messager Converter 사용
↓
문자가 아니고 객체는 것을 알고 JSON Converter 사용
↓
웹에서 출력