on
strapi 시작하기
strapi란?
REST api를 쉽게 만들어주는 Open source Node.js Handless CMS 툴로, 쉽게 말해 프론트 엔드가 없고 백엔드만 있는 CMS로 코딩없이 대시보드를 이용해 손 쉽게 백엔드 시스템을 구축할 수 있는 툴이다.
즉, strapi를 사용하면 벡엔드 개발자가 없어도 프론트 엔드 개발자가 쉽게 REST api를 생성할 수 있다.
strapi의 장점
- 코딩없이 대시보드 ui를 통해 CRUD 기본기능을 매우 쉽게 만들 수 있다.
- REST api와 GrapgQL을 사용할 수 있다.
- customizing - 원하는 로직으로 코드를 수정해서 사용할 수 있다. (customizing이 엄청 용이하진 않다.)
- 다양한 프론트엔드를 추가할 수 있다.
strapi 시작하기
아래 명령어로 strapi를 시작할 수 있다.
npx create-strapi-app@latest 프로젝트명 --quickstart
설치가 완료되면 자동으로 실행이 된다.
최초 실행시 관리자 계정을 생성하라는 회원가입 화면이 뜬다. (캡쳐하기 까먹음)
회원가입을 하고 로그인을 하면 다음부터는 실행시 로그인 화면이 뜬다.
strapi api 설정 및 생성하기
로그인 하면 아래와 같은 화면이 보인다.
여기서 lnb 메뉴 중 Content-Type Builder 에서 만들 api를 선언하고 Content Manager에서 api에 맞게 데이터를 만들어준다.
- Content-Type Builder에서 Create new collection type을 누르면 모달이 하나 뜬다.
- 만들고자 하는 api의 이름과 아이디를 설정해주면 이 api를 무슨 타입으로 지정할건지 선택해야 한다.
- 지정할 수 있는 type들은 아래와 같다.
- 생성하고 나면 마지막에 save를 꼭 해줘야 한다.
생성한 api type별 관계 지정하기
위에서 생성한 api type을 서로 관계 지어줄 수 있다.
오른쪽 상단에 [Add another field] 버튼을 눌러 collection type에서 relation type을 생성하고 원하는 api type과 연결 지어주면 된다.
ex )
one depth 하나에 title 여러개가 연결되는 1:N 관계로 생성
title 하나에 content 하나가 연결되는 1:1 관계로 생성
데이터 생성하기
api type 생성이 끝나면 왼쪽 lnb의 Content Manager에서 데이터(entry)를 생성할 수 있다.
api type에 관계를 설정해두었다면 엔트리 생성시에 관계도 연결 시켜줄 수 있다.
여기서 유의해야 할 점은 엔트리 생성시 꼭 저장 후 Publish를 해줘야 데이터가 조회된다.
저장하고 Publish를 하지 않으면 api 조회시 저장한 데이터가 조회되지 않는 다.
Publish를 했다면 리스트에서 state가 Publish 상태인 것을 확인 할 수 있다.
권한 설정하기
마지막으로 권한 설정을 꼭 해줘야 한다.
맨 처음 strapi로 개발을 할 때 로그인 인증에 대한 작업 없이 기본적인 생성에 대한 개발을 하고 api 조회를 해볼텐데,
atrapi에서 기본적으로 인증이 되야 데이터를 조회할 수 있도록 설정되어 있다.
그래서 테스트를 해보기 위해서 데이터의 권한을 인증없이도 조회할 수 있도록 설정해줘야 한다.
Settings / users & permissions plugin / roles 에서 permisions에서 내가 생성한 api type마다 권한을 설정해준다.
퍼블릭으로 설정한 부분들을 체크해주면 되는 데 나는 전체 테스트로 만드는 거라 모두 선택해줬다.
이것도 마찬가지로 마지막에 꼭 save 버튼을 눌러서 저장해줘야 한다.
Discussion and feedback