이 파일에서는 현재 빈 객체를 내보내고 있습니다. 여기서 이전에 본 routes.json 파일의 handler 이름에 맞춰 함수를 선언하면 기본 작동 방식을 대체할 수 있습니다. 예를 들어 article.create를 대체하고 싶다면 다음과 같이 create 핸들러 함수를 객체 내부에 만들면 됩니다.
module.exports { async (ctx) { // (...) } }
여기서 ctx 파라미터는 Strapi에서 내부적으로 사용하는 웹 프레임워크 Koa의 객체로, Context를 줄인 말이며 사용자의 요청과 응답에 대한 정보를 지니고 있습니다.
Article 콘텐트 타입을 다루는 API에 사용자 정보를 연동할 수 있도록 API를 커스터마이징해봅시다. create, update, delete 핸들러 함수를 작성해보겠습니다.
Strapi는 우리가 만든 각 콘텐트 타입에 대해 8가지 API를 제공합니다.
• find: 여러 개의 데이터를 조회합니다.
• findOne: 한 개의 데이터를 조회합니다.
• create: 새 데이터를 생성하여 저장합니다.
• update: 기존 데이터를 변경합니다.
• delete: 기존 데이터를 제거합니다.
• count: 데이터의 수를 조회합니다.
• search: 모든 필드를 검색하여 데이터를 조회합니다.
• countSearch: 모든 필드를 검색하여 일치하는 데이터의 수를 조회합니다.
이 API는 strapi.services.[콘텐트 타입 이름].create와 같은 형식으로 사용할 수 있습니다(예: strapi.services.article.create).
이 책에서는 Strapi를 다루면서 find, findOne, create, update, delete, 총 5가지 API를 사용해볼 것입니다. 나머지 API 및 각 API의 더욱 상세한 설명은 Strapi 문서를 참고하세요(http://bit.ly/strapi-api-reference).