1 2 3 4 5 6 L

Page Header > Subtitle

정보통신 표준화 위원회에서 "WoT를 위한 RESTful API 지침"

* URI 식별자 설계 

- RESTful API URI . URI 는 리소스를 나타낼 때 를 사용한다 그러므로 효과적인 사용 설계 가 효과적인 설계의 기본 요소가 된다 RESTful API 

 

* URI 형태

- 규칙 슬래시 구분자 는 계층 관계를 나타내는 데 사용한다

- 규칙 마지막 문자로 슬래시 를 포함하지 않는다 1-2

- 규칙 하이픈 은 가독성을 높이는 데 사용한다 

- 규칙 밑줄 은 에 사용하지 않는다

- 규칙 경로에는 소문자가 적합하다

- 규칙 파일 확장자는 에 포함시키지 않는다 

 

* 경로 디자인

- 도큐먼트 이름으로는 단수 명사를 사용해야 한다.

- 컬렉션 이름으로는 복수 명사를 사용해야 한다.

- 스토어 이름으로는 복수 명사를 사용해야 한다.

- 컨트롤러 이름으로는 동사나 동사구를 사용해야 한다.

- 경로 부분 중 변하는 부분은 유일한 값으로 대체한다.

- 기능을 나타내는 것은 에 사용하지 않는다.​ 

 

* URI Query 디자인

- 쿼리 부분으로 컬렉션이나 스토어를 필터링할 수 있다 1-15: URI .

- 쿼리는 컬렉션이나 스토어의 결과를 페이지로 구분하여 나타내는 데 사용해야 한다.​ 

 

* 요청 메서드

- 메서드나 메서드를 사용하여 다른 요청 메서드를 처리해서는 안된다. 2-1: GET

- 메서드는 리소스의 상태 표현을 얻는 데 사용해야 한다 2-2: GET .

- 응답 헤더를 가져올 때는 반드시 메서드를 사용해야 한다 2-3: HEAD .

- 메서드는 리소스를 삽입하거나 저장된 리소스를 갱신하는 데 사용해야 한다. 2-4: PUT

- 메서드는 변경 가능한 리소스를 갱신하는 데 사용해야 한다 2-5: PUT .

- 메서드는 컬렉션에 새로운 리소스를 만드는 데 사용해야 한다 2-6: POST .

- 메서드는 컨트롤러를 실행하는 데 사용해야 한다 2-7: POST .

- 메서드는 그 부모에서 리소스를 삭제하는 데 사용해야 한다 2-8: DELETE .

- 메서드는 리소스의 사용 가능한 인터랙션을 기술한 메타데이터를 가져오는 데 사용해야 한다. 2-9: OPTIONS

 

* 응답 상태 코드

- 일반적인 요청 성공을 나타내는 데 사용해야 한다 2-10: 200(“OK”) .

- 응답 바디에 에러를 전송하는 데 사용해서는 안 된다 2-11: 200(“OK”) .

- 성공적으로 리소스를 생성했을 때 사용해야 한다 2-12: 201(“Created”) .

- 비동기 처리가 성공적으로 시작되었음을 알릴 때 사용해야 한다. 2-13: 202(“Accepted”)

- 응답 바디에 의도적으로 아무것도 포함하지 않을 때 사용한다.2-14: 204(“No Content”)

- 규칙 는 리소스를 이동시켰을 때 사용한다 2-15: 301(“Moved Permanently”) .

- 사용하지 않는다 2-16: 302(“Found”) .

- 다른 를 참조하라고 알려줄 때 사용한다 2-17: 303(“See Other”) URI .

- 대역폭을 절약할 때 사용한다 2-18: 304(“Not Modified”) .

- 클라이언트가 다른 로 요청을 다시 보내게 할 때 사용해야 한다. 2-19: 307(“Temporary Redirect”) URI

- 일반적인 요청 실패에 사용해야 한다 2-20: 400(“Bad Request”) .

- 클라이언트 인증에 문제가 있을 때 사용해야 한다 2-21: 401(“Unauthorized”) .

- 인증 상태에 상관없이 액세스를 금지할 때 사용해야 한다. 2-22: 403(“Forbidden”)

- 요청 에 해당하는 리소스가 없을 때 사용해야 한다. 2-23: 404(“Not Found”) URI

- 405(“Method Not Allowed”) HTTP 는 메서드가 지원되지 않을 때 사용해야 한다.

- 요청된 리소스 미디어 타입을 제공하지 못할 때 사용해야 한다. 2-25: 406(”Not Acceptable”)

- 리소스 상태에 위반되는 행위를 했을 때 사용해야 한다 2-26: 409(“Conflict”)

- 조건부 연산을 지원할 때 사용한다 2-27: 412(“Precondition Failed”).

- 415(“Unsupported Media Type”)은 요청의 페이로드에 있는 미디어 타입이 처리되지 못했을 때 사용해야 한다.

- 500(“Internal Server Error”) API . 는 가 잘못 작동할 때 사용해야 한다​.

 

* HTTP 헤더

 규칙 3-1: Content-Type을 사용해야 한다 

 규칙 3-2: Content-Length를 사용해야 한다 

 규칙 3-3: Last-Modified는 응답에 사용해야 한다 

 규칙 3-4: ETag는 응답에 사용해야 한다 

 규칙 3-5: PUT 스토어는 조건부 요청을 지원해야 한다

 규칙 3-6: Location URI은 새로 생성된 리소스의 를 나타내는 데 사용해야 한다 

 규칙 3-7: Cache-Control, Expires, Date 응답 헤더는 캐시 사용을 권장하는 데 사용해야 한다.

 규칙 3-8: Cache-Control, Expires, Pragma 응답 헤더는 캐시 사용을 중지하는 데 사용해야 한다.

 규칙 3-9: 캐시 기능은 사용해야 한다 

 규칙 3-10: 200(“OK”) 만기 캐싱 헤더는 응답에 사용해야 한다 

 규칙 3-11: ‘3xx’ ‘4xx’ 만기 캐싱 헤더는 와 응답에 선택적으로 사용될 수 있다. 

 규칙 3-12: HTTP HTTP커스텀 헤더는 메서드의 행동을 바꾸는 데 사용해서는 안 된다.​ 

 

* 메시지 바디 포맷

 규칙 4-1: JSON리소스 표현을 지원해야 한다

 규칙 4-2: JSON은 문법에 잘 맞아야 한다 

 규칙 4-3: XML과 다른 표현 형식은 선택적으로 지원할 수 있다 

 규칙 4-4 중첩된 메시지 포맷으로 표현하지 않는다 ​ 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

Db/others

번호 제목 글쓴이 날짜 조회수
21 [MySQL] Load Data 시도 중 secure_file_priv 문제 직면 미도어묵 10-23 337
20 파이썬을 이용한 금융 데이터 수집에 좋은 사이트 미도어묵 07-10 462
19 2013년도 시군구 주소 미도어묵 05-11 267
18 MySQL Incorrect datetime value: '0000-00-00 00:00:00' 미도어묵 12-15 263
17 ySQL 데이터베이스에서 mysqldump 명령어를 이용한 procedure, function, trigger 포함 백업 및 복구 방법 미도어묵 11-08 257
16 cloudflare CDN 미도어묵 09-28 270
15 소스 비교 체크 url 관리자 09-14 322
14 정보통신 표준화 위원회에서 "WoT를 위한 RESTful API 지침" 관리자 09-13 253
13 [redUTF8] euc-kr <==> UTF8 파일 캐릭터셋 일괄변경 관리자 07-19 286
12 인기무료 사진을 한번에 찾을 수 있는 FindA.Photo 관리자 04-25 291
11 사용이 쉽고 강력한 슬라이더 jQuery플러그인 모음8가지 관리자 04-25 299
10 고해상도 무료 이미지를 제공하는 웹사이트 8곳 관리자 04-22 287
9 Composer 한국어 매뉴얼 관리자 04-04 303
8 액티브레코드에 IF문 사용하기 관리자 04-04 310
7 국가별 아이피 대역 msyql 테이블 관리자 04-04 310
6 Atom 필수 플러그인 리스트 (Can’t live without it) +2 관리자 03-20 584
5 sql example 관리자 03-19 274
4 WoT RESTful API 를 위한 지침 관리자 03-11 296
3 Sublime Text 설치 후 초기 세팅하기(기본 플러그인 포함) 관리자 03-09 648
2 PHP & MySql 트랜잭션 처리방법 +1 관리자 03-09 298