오도원입니다.

건강과 행복을 위하여

프로젝트/니랑내랑

REST API 1. REST API란?

오도원공육사 2020. 2. 20. 17:40
반응형

 

https://github.com/ohdowon064/REST_API/tree/dc48c1ac421b5b8bbf7dbf653b49c8175441311a

 

ohdowon064/REST_API

for study rest api. Contribute to ohdowon064/REST_API development by creating an account on GitHub.

github.com

https://www.youtube.com/watch?v=HjWYK_ORW0w&list=PLHGvDasahwZNIJ0aZQIhrf1Tg7Djqk7VQ&index=1

다음을 공부하여 정리하기 위해 작성했다.

 

1. REST API

Representational State Transfer의 약자로서, HTTP 기반으로 필요한 자원에 접근하는 방식을 정해놓은 아키텍쳐이다. 여기서 말하는 자원은 저장된 데이터(DBMS), 이미지/동영상/문서와 같은 파일등을 모두 포함한다. 우리는 json 데이터에 대해서 다룰 것이다.

 

2. 속성

1. 서버에 있는 모든 resource는 각 resource 당 클라이언트가 바로 접근 할 수 있는 고유 URI가 존재한다.

 

2. 모든 요청은 클라이언트가 요청할 때마다 필요한 정보를 주기 때문에 서버에서는 세션 정보를 보관할 필요가 없다. 그렇기 때문에 서비스에 자유도가 높아지고 유연한 아키텍쳐 적응이 가능하다.

 

3. HTTP 메소드를 사용한다. 모든 resource는 일반적으로 http 인터페이스인 GET, POST, PUT, DELETE 4개의 메소드로 접근 되어야한다는 것이다.

 

4. 서비스 내에 하나의 resource가 주변에 연관 된 리소스들과 연결되어 표현이 되어야 한다.

 

3. 구성

  • 자원(resource) : url
  • 행위(verb) : HTTP method
  • 표현(representations)

4. 실습

클라이언트에서 get방식으로 데이터 요청이 들어왔을 때, json 객체를 전송해보자.

const express =require('express');
const server = express();

users = [
	{
    	id : 'dhehdnjs',
        name : 'ohdowon',
        email : 'ohdowon123@naver.com'
    },
    {
    	id : 'djawjdqls',
        name : 'umjungbin',
        email : 'umjungbin456@html.com'
    }
];

server.get('/api/user', (req, res) => {
	res.json(users);
    console.log(users, 'data is transferd');
});

server.listen(3000, () => {
	console.log('The server is running.');
})

 

반응형