활성 모델 Serializer란 무엇입니까?
1786 단어 beginnersprogrammingrubyrails
소개
Rails API 데이터 구조를 생성할 때 프로세스는 다양한 요청을 처리하고 요청된 JSON을 반환하도록 경로 및 컨트롤러를 설정하는 것으로 구성됩니다. 이 JSON을 반환할 때 특별히 원하는 항목만 표시하도록 사용자 지정할 수 있습니다. 우리가 원하는 정보를 표시하는 다양한 방법이 있지만 Rails의 Active Model Serializer는 JSON 데이터를 사용자 지정하는 간단한 방법을 제공하는 동시에 "구성에 대한 규칙"기술을 따릅니다.
활성 모델 직렬 변환기 사용
Active Model Serializer를 사용하려면 먼저 Gemfile에 gem을 설치하고 터미널에서 'bundle install' 명령을 실행하여 활성화해야 합니다.
# Gemfile
...
gem 'active_model_serializers'
다음으로 터미널에서 'rails g serializer' 명령을 실행하여 ActiveModel::Serializer를 생성해야 합니다. 다음은 특정 모델인 레스토랑에 대해 생성된 직렬 변환기의 모습입니다.
# app/serializers/restaurant_serializer.rb
class RestaurantSerializer < ActiveModel::Serializer
attributes :id
end
현재 직렬 변환기는 데이터에 특정 레스토랑의 ID만 표시하도록 허용하고 있습니다. 사용자에게 표시되는 속성을 사용자 지정하려면 '이름, 시작 연도, 요리 및 인기 있는 요리를 속성에 추가하여 serializer 파일을 수정할 수 있습니다.
class RestaurantSerializer < ActiveModel::Serializer
attributes :id, :name, :year_started, :cuisine, :popular_dish
end
레스토랑 컨트롤러
# app/controllers/restaurants_controller.rb
def show
restaurant = Restaurant.find(params[:id])
render json: restaurant
end
이제 localhost:3000/restaurants 브라우저로 이동하면 위에 나열된 속성을 포함하여 나열된 모든 레스토랑을 볼 수 있습니다.
결론
방금 사용자에게 특정 정보를 표시하는 직렬 변환기를 만드는 방법을 배웠습니다. 이 지식으로 직접 직렬 변환기를 만들어 볼 수 있습니다!
Reference
이 문제에 관하여(활성 모델 Serializer란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kirthinandi/what-are-active-model-serializers-2ij텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)