Esta documentação foi traduzida automaticamente por IA.
Gerenciador de Recursos
A funcionalidade de gerenciamento de recursos do NocoBase pode converter automaticamente coleções e associações existentes em recursos, com tipos de operação integrados para ajudar desenvolvedores a construir rapidamente operações de recursos REST API. Um pouco diferente das REST APIs tradicionais, as operações de recurso do NocoBase não dependem de métodos de requisição HTTP, mas determinam a operação específica a ser executada através de definições explícitas de :action.
Geração Automática de Recursos
NocoBase converte automaticamente collection e association definidas no banco de dados em recursos. Por exemplo, ao definir duas coleções, posts e tags:
Isso gerará automaticamente os seguintes recursos:
- recurso
posts - recurso
tags - recurso de associação
posts.tags
Exemplos de requisição:
As operações de recurso do NocoBase não dependem diretamente dos métodos de requisição, mas determinam as operações através de definições explícitas de :action.
Operações de Recurso
NocoBase oferece diversos tipos de operações integradas para atender a v árias necessidades de negócio.
Operações CRUD Básicas
Operações de Relacionamento
Parâmetros de Operação
Os parâmetros de operação comuns incluem:
filter: Condições de consultavalues: Valores a serem definidosfields: Campos a serem retornadosappends: Incluir dados associadosexcept: Excluir campossort: Regras de ordenaçãopage,pageSize: Parâmetros de paginaçãopaginate: Se deve habilitar a paginaçãotree: Se deve retornar estrutura de árvorewhitelist,blacklist: Lista branca/negra de camposupdateAssociationValues: Se deve atualizar valores de associação
Operações de Recurso Personalizadas
NocoBase permite registrar operações adicionais para recursos existentes. Você pode usar registerActionHandlers para personalizar operações para todos os recursos ou para recursos específicos.
Registrar Operações Globais
Registrar Operações Específicas de Recurso
Exemplos de requisição:
Regra de nomenclatura: resourceName:actionName. Use a sintaxe de ponto (posts.comments) ao incluir associações.
Recursos Personalizados
Se você precisar fornecer recursos não relacionados a coleções, pode usar o método resourceManager.define para defini-los:
Os métodos de requisição são consistentes com os recursos gerados automaticamente:
GET /api/app:getInfoPOST /api/app:getInfo(suporta GET/POST por padrão)
Middleware Personalizado
Use o método resourceManager.use() para registrar middleware global. Por exemplo:
Middleware de log global
Propriedades Especiais do Contexto
Ser capaz de entrar no middleware ou action da camada resourceManager significa que o recurso deve existir.
ctx.action
ctx.action.actionName: Nome da operaçãoctx.action.resourceName: Pode ser uma coleção ou associaçãoctx.action.params: Parâmetros da operação
ctx.dataSource
O objeto da fonte de dados atual.
ctx.getCurrentRepository()
O objeto de repositório atual.
Como Obter Objetos resourceManager para Diferentes Fontes de Dados
resourceManager pertence a uma fonte de dados, e as operações podem ser registradas separadamente para diferentes fontes de dados.
Fonte de Dados Principal
Para a fonte de dados principal, você pode usar diretamente app.resourceManager para operar:
Outras Fontes de Dados
Para outras fontes de dados, você pode obter uma instância específica da fonte de dados através de dataSourceManager e usar o resourceManager dessa instância para operar:
Iterar Todas as Fontes de Dados
Se você precisar executar as mesmas operações em todas as fontes de dados adicionadas, pode usar o método dataSourceManager.afterAddDataSource para iterar, garantindo que o resourceManager de cada fonte de dados possa registrar as operações correspondentes:

