
Rails API 모드
API 전용 앱, JSON 렌더링, serializer, CORS, 토큰 인증, 버저닝
1API 전용 모드로 새 Rails 애플리케이션을 생성하는 명령어는 무엇입니까?
API 전용 모드로 새 Rails 애플리케이션을 생성하는 명령어는 무엇입니까?
답변
Rails 애플리케이션을 생성할 때 사용하는 --api 플래그는 API에 최적화된 경량 애플리케이션을 생성합니다. 이 구성은 뷰 관련 미들웨어(cookies, sessions, flash)를 제외하고, 기본적으로 Action View와 Action Cable을 포함하지 않으며, ApplicationController가 ActionController::Base 대신 ActionController::API를 상속하도록 설정합니다. 이를 통해 애플리케이션 크기가 줄어들고 순수 API 사용 사례의 성능이 향상됩니다.
2Rails API 전용 애플리케이션에서 ApplicationController는 어떤 클래스를 상속합니까?
Rails API 전용 애플리케이션에서 ApplicationController는 어떤 클래스를 상속합니까?
답변
Rails API 전용 애플리케이션에서 ApplicationController는 ActionController::Base 대신 ActionController::API를 상속합니다. 이 클래스는 HTML 렌더링, sessions, cookies, flash 메시지와 관련된 모듈을 포함하지 않는 경량 버전입니다. routing, 파라미터, JSON 렌더링, callback 등 API에 필수적인 기능만 유지합니다. 이를 통해 REST API를 위한 더 효율적인 controller를 구현할 수 있습니다.
3Rails 컨트롤러에서 JSON 응답을 렌더링하는 데 사용해야 하는 메서드는 무엇입니까?
Rails 컨트롤러에서 JSON 응답을 렌더링하는 데 사용해야 하는 메서드는 무엇입니까?
답변
json: 옵션을 사용하는 render 메서드는 Rails에서 JSON을 반환하는 표준 방법입니다. to_json 메서드를 통해 전달된 객체를 자동으로 JSON으로 변환합니다. status: 옵션으로 HTTP 상태 코드를 사용자 지정하거나, 속성을 제외하거나, 더 세밀한 제어를 위해 serializer를 사용할 수 있습니다. 이 방식은 간단하며 대부분의 기본적인 사용 사례에 충분합니다.
Rails API에서 CORS(Cross-Origin Resource Sharing)를 처리하는 데 권장되는 gem은 무엇입니까?
Rails API에서 serializer의 역할은 무엇인가요?
+17 면접 질문