티스토리 뷰
REST API
API란?
Application Programming Interface.
통신규약. API 규약에 따라 데이터 전달.
웹 개발에서 API란, 웹서버와 고객 간의 소통 방식. 서버와 통신힐 수 있는 방법
Q. API를 어떤 식으로 만들어야 좋은 API인가?
A. REST하게.
REST API란?
Representational State Transfer.
Roy Fielding이란 개발자가 주장한 API 디자인 방법
REST 원칙 6가지
1. Uniform interface ⭐
하나의 자료는 하나의 URL로
URL 하나를 알면 둘을 알 수 있어야함
요청과 응답은 정보가 충분히 들어있어야함
2. Client-Server 역할 구분
브라우저는 요청만
서버는 응답만
3. Stateless
요청1과 요청2는 의존성이 없어야함(독립적으로!)
4. Cacheable
서버에서 보내주는 정보들은 캐싱이 가능해야함
캐싱을 위한 버전 같은 것도 관리를 잘 해야함
5. Layered System
6. Code on Demand
좋은 REST API
ex)
instagram.com/explore/tags/food
facebook.com/bbc/photos
이름짓기 원칙:
- URL을 명사로 작성
- 하위 문서를 나타낼 땐 /
- 파일확장자(,html) 쓰지 않기
- 띄어쓰기는 대시(-) 사용
- 자료 하나당 하나의 URL
GET 요청
// app.get('/pet', (요청, 응답) => {});
app.get('/pet', function(요청, 응답){ // req, res
응답.send('펫용품 쇼핑 페이지 입니다.')
});
* 서버에서 HTML 파일 전송
app.get('/', function(요청, 응답){ // req, res
응답.sendFile(__dirname + '/index.html')
});
app.get('/write', function(요청, 응답){
응답.sendFile(__dirname + '/write.html')
});
POST 요청
<write.html>
<div class="container mt-3">
<form action="/add" method="POST"> <!-- /add 경로로 POST 요청 -->
<div class="form-group">
<label>오늘의 할일</label>
<input type="text" class="form-control" name="title"/> <!-- 데이터에 name 작성: 서버에서 데이터 구분하려고 -->
</div>
<div class="form-group">
<label>날짜</label>
<input type="text" class="form-control" name="date"/>
</div>
<button type="submit" class="btn btn-outline-secondary">Submit</button>
</form>
</div>
<server.js>
app.post('/add', function(요청, 응답){ // input에 적은 정보는 '요청'에 저장되어있음. 쉽게 사용하려면 라이브러리(body-parser) 필요
응답.send('전송완료')
console.log(요청.body.title);
});'Server > Node.js' 카테고리의 다른 글
| [Node.js] AJAX로 삭제 요청하기 (0) | 2023.07.15 |
|---|---|
| [Node.js] auto increment; 글 번호를 달자 (0) | 2023.07.14 |
| [Node.js] MongoDB 세팅 (0) | 2023.07.13 |
| [Node.js] node.js & express 라이브러리 설치 및 기본 세팅 (0) | 2023.07.12 |
| [Node.js] Node.js란? (0) | 2023.07.12 |
댓글
