Preparando o acesso à API
As aplicações front-end precisando se comunicar com serviços que entregam dados e geralmente esses serviços usam HTTP
Seguindo com nosso exemplo, vamos criar dentro de src/domains/General/Category uma pasta chamada Schema. Dentro desta pasta crie um arquivo chamado CategoryService.js, tendo no final um caminho src/domains/General/Category/Schema/CategoryService.js.
O conteúdo desse documento será uma classe semelhante ao trecho abaixo. Ao estender a class Rest a class CategoryService herda todos os comportamentos dela. Estes comportamentos englobam métodos que fazem a criação, leitura, atualização e deleção de recursos da entidade Category.
import Rest from 'src/app/Services/Rest'
import { resource } from 'src/domains/General/Category/settings'
/**
* @class {CategoryService}
*/
export default class CategoryService extends Rest {
/**
* @type {string}
*/
resource = resource
}Note o uso da propriedade resource que é importada do settings.js. Para conhecer mais detalhes sobre Services dentro do projeto acesse esta página.
Não há uma classe para consumir recursos usando GraphQL, mas a lógica é basicamente a mesma e com algum conhecimento de JavaScript é possível criar uma abstração também para este tipo de serviço
Esta classe será usada a seguir para prover acesso aos endpoints da entidade, vamos seguir para o próximo passo.
Definindo o schemaLast updated
Was this helpful?