strapi에서 collection type은 DB의 table과 동일하다고 생각하면 된다. 실제로 collection type을 추가하면 실제로 DB table이 추가되며, strapi가 재시작된다.
- Content-Types Builder메뉴 클릭
- + Create new collection type 클릭
- collection type을 추가하기 위한 첫 번째 단계로 collection의 이름을 정하는 다이얼 로그가 나타난다.
- Display name이 보통의 table이름으로 생각하면 된다. 단 대소문자를 섞는다 해도, 실제로 table은 소문자로 생성되며, Contents-Types 메뉴에서 Dispaly name으로 보이게 된다.
- UID는 자동으로 생성되기 때문에 직접 작성할 필요가 없다.
- UID의 경우, 다른 Collection type과 구분되는 ID 같은 존재로, UID를 기준으로 API(REST APIs router) 이름이 설정된다.
- Display name이 직접 Table이름으로 설정되는 것이 싫은 경우, 고급 설정에서 직접 Collection name(table name)을 설정할 수 있다.
- 이름을 정하고 난 뒤 다음 버튼을 누르면 이제 field를 설정하기 위한 창이 생성된다. field는 DB의 Column이다.
- 타입은 위와 이미지에서 보이는 형태들이 존재한다.
- Component, Dynamic은 기본적인 Column이 아닌 strapi에서 사용하는 특수한 타입으로 기존의 DB들이 가지고 있는 Column은 아니며, UI 등을 표현하기 위한 방편으로 사용되는 Field타입니다.(차후 다른 글로 설명)
- 그 외 대부분의 field type은 흔히 Database의 Column type에서 볼 수 있는 형태이다.
- 타입 하나를 선택하면, 이후 field(column) 이름과 세부 타입을 설정하는 창으로 전환된다.
- 현재 Information이라는 이름의 Collection Type(Table)을 만들고 name이라는 text type의 field를 추가 하는 화면이다.
- 이제 "저장" 버튼을 누르면, 실제로 DB에 반영되고, strapi는 세로 시작된다.
- Information이라는 Collection type(table)에 name이라는 Text Field가 생성된 화면
- DB에 informations라는 table이 생성되고 name이라는 column 생성됨을 확인 할 수 있다.
- created_by, update_by, created_at, updated_at는 strapi로 collection type(table)을 생성할 때 default로 생성되는field(column)으로 User(각각 로그인한 User)의 CRUD 사용에 따라 갱신하게 된다.
- 이후 strapi admin dashboard의 Collection types에서 추가한 collection을 확인 할 수 있으며, 필요에 따라 직접 데이터를 삽입, 갱신,삭제 할 수 있다.
- 이때 자동으로 Restapi도 생성되며, API의 path는 collection type추가때 결정된 UID 이다.
- 위 Infomations라는 이름으로 collection type 추가되면서 /informations라는 API 가 자동으로 생성되어 있는 상태이다.
- http://localhost:1337/informations 라는 GET API가 생성된다.
- 바로 API를 호출 하면, Forbidden에러가 발생한다.
- 위 Collection type 사용에 대한 권한을 주어야 한다.
- 역할 & 권한(permission) 메뉴에서 권한 항목에. informations의 사용 승인의 범위를 위 그림과 같이 정해주어야 한다.
'CMS' 카테고리의 다른 글
strapi Collection 생성과 사용 (0) | 2020.12.03 |
---|---|
strapi collection type 상세 (2) | 2020.10.17 |
str api, DB와 RestAPIs (0) | 2020.10.04 |
strapi Admin & User (0) | 2020.09.24 |
strapi Server & DB configuration 살펴보기 (0) | 2020.09.15 |