API 만들기
웹앱을 만든다는 것은 결국 다음을 만드는 것이다.
- 클라이언트가 서버에게 어떤 요청을 하면 (요청)
- 서버가 클라이언트에게 무엇을 해주면 되는지 (응답)
이처럼 어떤 요청에 대해 어떤 응답을 할 것인지를 만드는 것을 통틀어 API를 만든다고 한다.
웹 API에도 여러 종류가 있나본데, 다른 것은 잘 모르겠고 보통은 HTTP API(REST API 등)을 가리킨다. 우리가 만들려는 것도 이것이다.
(참고) ‘API를 만든다’는 것의 정확한 뜻
API를 만든다는 것은 아래 네가지를 규칙으로 정하고 코드로 구현하는 것을 말한다.
- 요청 경로(예: /users)
- 요청 방식(HTTP메서드 : GET, POST, PUT, DELETE등)
- 요청을 처리하는 로직
- 응답 형식(예: JSON, HTML 등)
아래 코드가 바로 하나의 API를 코드로 구현한 예이다.
app.get('/', (req, res) => {
res.send('hello world')
})코드설명
- app : 내가 만든 express() 인스턴스.
- get : get요청. http메서드(get,post,put,delete) 중 하나. 클라이언트가 서버에 보내는 요청 중 하나.
- ‘/’ : 요청 경로. ‘/’는 기본 라우팅.
- (req, res)=> {} : 라우트 핸들러 함수.(콜백) req, res는 각각 요청과 응답 객체. 요청이 들어오면 {}안의 명령을 수행하여 응답한다.
- res.send(‘hello world) : 응답에 ‘hello world’를 출력하여 보내겠다는 의미
모두 합치면 아래와 같이 되겠다.
| 기본 라우터(‘/’)로 get요청이 들어오면 res객체에 ‘hello world’를 출력하여 클라이언트에게 보내라. |
Q. 다음을 수행하는 API를 코드로 구현하시오. (express 객체명은 app으로 할 것)
| ‘/notice’로 get요청이 들어오면 res객체에 ‘공지사항입니다’를 출력하여 클라이언트에게 보내라. |
정답 보기
app.get('/notice', (req,res) => {
res.send('공지사항입니다.')
})
댓글 남기기