본문 바로가기
CMS

str api, DB와 RestAPIs

by NOMADFISH 2020. 10. 4.

모든 세팅을 끝나고 나면, 이제 DB와 API를 생성할 수 있는 상태가 된 것이다. 이후 부터 기본적인 CRUD가 가능한 Server를 Control 할 수 있게 된다.

 

DB

strapi에서 DB는 Collection Types라는 이름으로 DB Table을 나타낸다. 동시에 Users, User라는 Rest API의 Router도 생성된다.

collection type

  • sqlite 기준으로 기본적으로 생성된 DB를 보면 아래와 같다.
  • 다른 것들은 strapi의 기본적인 기느들과 관련되거나, role등에 관련된 것이라서 직접 손댈일이 없다.
  • users-permissions_user라는 Table을 볼 수 있으며, Collection Types Users에 매핑되는 Table이다.
  • 테이블 이름의 규칙
    • 기본적으로 strapi가 생성하는 DB이름은 규칙을 가지고 있다.
    • Collection Type(table)을 생성하면, 사용자가 정하는 이름으로 (소문자로) 생성된다.
    • 다른 Table과 Relation을 strapi에서 생성하는 경우, table1_table2와 같은 방식의 Relation table을 생성하여 그 관계를 표현한다.(이후 글에서 다루기로 한다)

str api 기본 db형태

RestAPIs

strapi에서는 collection타입을 쿼리 할 수 있는 기본적인 api set을 제공한다. collection type만 생성해도, 아주 기본적인 형태의 query가 가능한 api가 자동으로 만들어 진다. 위에서 기본적으로 생성된 User Table도 /users /user/[id]와 같은 기본적인 api가 생성된다. 

  • 기본적인 API들은 여기에서 샘플들과 함께 확인 할 수 있다.
  • CRUD에 해당하는 기본적인 API 모두가 생성된다.
  • Permission 문제로 localhost:1337/users 로 API를 날리면, 403 forbidden이 뜨는 것을 확인 할 수 있다. collection type이 추가 되면, user계정별로 Role별로 각 Collection의 CRUD에 대한 permission을 설정해 주어야 한다.
  • public설정은 아무나 access 가능한 role이다. User-Permission에서 find 권한을 주면, /users, users/[id]와 같은 find RestAPI가 접근 가능하게 된다. 
  • User는 Collection타입 중 중요하고 특이한 타입이라 아래 Roles & Permissions중에 USERS-PERMISSIONS로 따로 구별되어 있다.
  • 이후 Collection Types에 추가 되는 Table에 대한 RestAPI Permission의 경우 CONTENTS-MANAGER라는 항목에서 설정할 수 있다.(다음 글에서 설명함)

permission 설정

 

User find Permission

 

NEXT

  • Collection타입을 만드는 방법
  • Collection타입끼리 Relation 생성방법
  • Collection타입에 대한 Permission 설정방법

 

 

'CMS' 카테고리의 다른 글

strapi collection type 상세  (2) 2020.10.17
strapi collection type추가  (0) 2020.10.12
strapi Admin & User  (0) 2020.09.24
strapi Server & DB configuration 살펴보기  (0) 2020.09.15
strapi란?  (0) 2020.09.07