Serviços são um conjunto de funções reutilizáveis. Eles são particularmente úteis para respeitar
o conceito de programação DRY (não se repita) e para simplificar a lógica dos controllers.
Quando você cria um novo tipo de conteúdo ou um novo modelo. Você verá que um novo
serviço vazio foi criado. Isso ocorre porque o Strapi cria um serviço genérico para seus
modelos por padrão e permite substituí-lo e estendê-lo nos arquivos gerados.
Aqui estão os métodos principais (e sua implementação atual). Você pode simplesmente copiar
e colar esse código em seu próprio arquivo de serviço para personalizar os métodos.
Você pode ler sobre as strapi.query calls aqui
*DICA
No exemplo a seguir, seu controlador, serviço e modelo é chamado restaurant
Find
Findone
Count
Create
Update
Delete
Search
Count Search
Você também pode criar serviços personalizados para criar sua própria lógica de negócios.
Existem duas maneiras de criar um serviço.
Utilizando o CLI strapi generate: service restaurant. Leia a documentação da CLI para obter
mais informações.
Crie manualmente um arquivo JavaScript chamado ./api/**/services/.
O objetivo de um serviço é armazenar funções reutilizáveis. Um serviço de e-mail pode ser útil
para enviar emails de diferentes funções em nossa base de código:
Caminho - ./api/email/services/Email.js.
*DICA
verifique se instalou o nodemailer (npm install nodemailer) para este exemplo.
O serviço está agora disponível através da variável global strapi.services. Podemos usá-lo em
outra parte da nossa base de código. Por exemplo, um controlador como abaixo:
Caminho - ./api/user/controllers/User.js.