[레일즈 CRUD / REST API]
CRUD
=> Create(생성), Read(읽기), Update(업데이트), Delete(삭제)를 묶어서 일컫는 말이다.
=> 자원에 대한 처리를 나타내는 것으로, M(모델)과 밀접한 관련이 있다.
=> 데이터베이스 테이블 레코드(자원)에 대해 어떤 처리를 하느냐에 대한 것
=> 레일즈는 데이터베이스 테이블(모두 선택할 수도 있고 특정 레코드를 선택할 수 있음)을 모델 객체화하여 CRUD 각각에 맞는 메서드를 사용함
(메서드 : new, find or where 후 배열 나열로 show, update, destroy)
=> 참고자료 : https://ko.wikipedia.org/wiki/CRUD
API
=> Api란 제공하는 기능을 제어할 수 있게 만든 인터페이스
쉽게 말해 어떤 회사에서 사용하려고 파일 제어(관리)하는 응용프로그램을 만들었다. 응용프로그램 관련하여 외부 사용자가 사용하려고 할 때, 외부 사용자가 프로그램 소스와 데이터베이스에 접근하면 안된다. 이러한 접근은 막지만 프로그램 기능은 사용할 수 있도록 제공하는 것이 API이다.
=> API는 데이터를 요청하고 응답하는 것이 전부이다.
=> 소스코드와 데이터베이스 직접적인 접근을 막고, 해당 기능은 사용할 수 있도록 하기위해 만들어진 것
REST
=> REST API가 주목받게 된 배경 : SOAP 방식(복잡한 SOAP 메세지를 통해 데이터 요청 - 응답) 복잡하고 확장성이 좋지못함
REST 방식은 HTTP method + URI로 데이터 요청하고 다양한 데이터 표현방식으로 반환한다.
=> HTTP URI를 통해 자원을 명시하고, HTTP Method(Get, Post, Put, Delete)를 통해 자원에 대한 처리를 적용하는 API
=> HTTP Method는 URI에 표시하지 않는다.
=> 다양한 형태로 표현된 자원을 반환할 수 있음
=> 데이터를 요청받아(HTTP URI + HTTP Method) 다양한 형태로 데이터(JSON, XML, RSS)를 반환해주는 것(API를 사용하는 이유)
=> post ‘books/:id’ => ‘books#create’ (URI 표시 X, HTTP Method를 통해서 자원에 대한 처리 요청 받고 이에 대한 자원 처리 결과를 json이나 html로 나타냄)
=> URL 과 URI : 결론부터 말하자면 포함되는 관계이다. URI가 상위, URL이 하위 개념이다.
URI는 자원의 위치 표시, URL은 네트워크 상에서 자원의 위치를 표시하기 위한 것으로 프로토콜 + 도메인명 + 파일위치로 구성된다.
(URI : /image/2473584A588FEEDA2CE20D / URL : https://t1.daumcdn.net/cfile/tistory/2473584A588FEEDA2C)
=> RestFul : Rest 방식을 적용한 응용프로그램 혹은 서비스를 일컫는 말
=> 참고자료
'기타 > 멋쟁이사자처럼' 카테고리의 다른 글
[ruby] 프로그래밍을 배우는 이유 / OOP 개념 / 루비를! (0) | 2017.02.05 |
---|---|
[rails] 레일즈 기본편 - 모델 (0) | 2017.02.04 |
[rails] 레일즈 기본편 - 뷰 (0) | 2017.01.31 |
[rails] routes.rb, 라우팅이란? (0) | 2017.01.27 |
[rails] 레일즈 기본편 - 컨트롤러 (0) | 2017.01.26 |
댓글