Table of Contents

Banco de dados


APIs

  • Todo microsserviço tem o sufixo “-crm”. Exemplo: cadastros-crm, oauth-crm


  • Requisições para buscar metadados (Os metadadados tem como objetivo apresentar algumas informações sobre a entidade. Como, por exemplo, quais campos são necessários para cadastro da entidade, quais deles são obrigatórios, quais são filtráveis, quais seus tipos e quantidade de caracteres máximo:

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo/metadados

    • Tipo de requisição: GET.


  • Requisições para buscar todos os registros:

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo/todos

    • Tipo de requisição: GET.


  • Requisições para buscar os registros por id:

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo?id=1

    • Tipo de requisição: GET.


  • Requisições para pesquisar registros. Essa requisição foi feita para buscas personalizadas, onde o usuário deseja filtrar por um campo específico, realizar uma ordenação e fazer consultas paginadas.

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo/pesquisa

    • Tipo de requisição: POST.

    • Exemplo de corpo da requisição:

1{ 2    "pagina": 1, 3    "quantidadeRegistros": 10 4}{ 5 "pagina": 1, 6 "quantidadeRegistros": 10, 7 "ordenacao": [ 8 { 9 "campo": "codigo", 10 "ordenacao": "ASC" 11 } 12 ], 13 "filtros": [ 14 { 15 "campo": "descricao", 16 "comparacao": "CONTEM", 17 "valor": "e" 18 } 19 ] 20}


  • Requisições para salvar registros

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo

    • Tipo de requisição: POST.

    • Exemplo de corpo da requisição:

1{ 2        "codigo": "103", 3        "descricao": "centro de custo 103", 4        "centro_custo_pai": 22, 5        "aceita_lancamento": "S", 6        "codigo_externo": null 7}


  • Requisições para atualizar registros. Essa atualização será total, envolvendo todos os campos do registro.

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo?id=1

    • Tipo de requisição: PUT.

    • Exemplo de corpo da requisição:

1{ 2        "codigo": "102", 3        "descricao": "centro de custo 102", 4        "centro_custo_pai": 2, 5        "aceita_lancamento": "S", 6        "codigo_externo": "10" 7}


  • Requisições para atualizar registros parcialmente. Essa atualização será parcial, atualizando apenas os campos enviados no corpo da requisição.

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo?id=1

    • Tipo de requisição: PATCH.

    • Exemplo de corpo da requisição:

1{ 2        "codigo": "102", 3        "descricao": "centro de custo 102", 4        "centro_custo_pai": 2 5}
  • Requisições para deletar registros

    • Exemplo requisição: {{url}}:{{porta_cadastros}}/cadastros-crm/centro-de-custo?id=1

    • Tipo de requisição: DELETE.


Padrões de código


  • Versão do JAVA utilizada atualmente nos projetos: 15.

  • Link para o repositório do NEXUS:https://repository.viasoftcloud.com.br/

  • Arquitetura dos pacotes:

    • features: Armazena o código das implementações do projeto.

    • Exemplo de feature:

      • nomedafeature

        • controller

        • dto

        • entity

        • repository

        • service

    • shared: Armazena o código compartilhado entre implementações.

  • Sempre colocar a anotação @Protected em novas features com o grau de autenticação necessário para acesso dos endpoints.