생각을 개발하자, 박진형

[rails] 레일즈 핵심개념 - CRUD / REST Api 본문

Likelion/rails

[rails] 레일즈 핵심개념 - CRUD / REST Api

imjinbro imjinbro 2017.02.02 12:00

[레일즈 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은 네트워크 상에서 자원의 위치를 표시하기 위한 것으로 프로토콜 + 도메인명 + 파일위치로 구성된다.
    => RestFul : Rest 방식을 적용한 응용프로그램 혹은 서비스를 일컫는 말

    => 참고자료