오픈소스 Headless CMS Strapi 설치 및 사용법

onestone·2022년 7월 28일
2
post-thumbnail

❓ Strapi란?

  • Bootstrap + API를 줄여서 Strapi라 함
  • 오픈소스 Headless CMS
    • 오로지 콘텐츠 관리만을 위한 서비스
    • 테이블과 REST API 등을 쉽게 생성할 수 있어 콘텐츠 데이터를 보다 쉽게 제공할 수 있음
    • 프론트엔드 개발자에게는 풀스택의 길로 갈 수 있는 혁신적인 기술

1. 설치

  • yarn 또는 npx 패키지를 통해 설치할 수 있음 (이 글에선 생략)
  • yarn 명령으로 설치
yarn create strapi-app 프로젝트명
  • Quickstart 선택(추천!)
    • sqlite DB로 자동으로 기본 설치를 진행할 수 있음
  • Custom 선택
    • sqlite, postgres, mysql 중 하나 선택해서 DB 설정할 수 있음
  • DB 변경시 config/database.js 파일 수정
    • 예시) Mysql(혹은 MariaDB) 설정
       module.exports = ({ env }) => ({
          connection: {
             client: 'mysql',
             connection: {
                host: env('DATABASE_HOST', 'DB서버 IP'),
                port: env.int('DATABASE_PORT', 3306),
                database: env('DATABASE_NAME', 'DB명'),
                user: env('DATABASE_USERNAME', '사용자명'),
                password: env('DATABASE_PASSWORD', '패스워드'),
                ssl: env.bool('DATABASE_SSL', false),
             },
          },
       });

2. 실행

  • 명령어
    • 실행 (개발)
      • 수정사항 바로 적용
      • Content-Type(DB 테이블) 생성 가능
        yarn develop
    • 실행 (운영)
      • Content-Type(DB 테이블) 생성 불가
        yarn start
    • 빌드
      yarn build
  • 접속
    http://서버 IP:1337


3. 테이블 생성 (Content-Type)

  • Content-Type Builder > + Create new collection type 클릭

4. 데이터 삽입 (Content Manager)

  • Content Manager > Content-Type 선택 > + Create new entry 클릭
  • 저장한 후 publish 버튼을 클릭 해주어야 GET으로 가져올 수 있음

5. REST API 만들기

  • Settings > USERS & PERMISSIONS PLUGIN > Roles > Public 수정
  • Content-Type 선택 > 원하는 REST Method 선택 > Save
    • create : POST (등록)
    • delete : DELETE (삭제)
    • find : GET (전체 조회)
    • findOne : GET (ID를 통해 조회)
    • update : PUT (수정)
    • 우측에 해당 API 알려줌

6. Postman으로 API 호출해보기

GET http://서버 IP:1337/우측에 표시된 API 작성

profile
Technical Coordinator

0개의 댓글