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:
{
"pagina": 1,
"quantidadeRegistros": 10
}{
"pagina": 1,
"quantidadeRegistros": 10,
"ordenacao": [
{
"campo": "codigo",
"ordenacao": "ASC"
}
],
"filtros": [
{
"campo": "descricao",
"comparacao": "CONTEM",
"valor": "e"
}
]
}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:
{
"codigo": "103",
"descricao": "centro de custo 103",
"centro_custo_pai": 22,
"aceita_lancamento": "S",
"codigo_externo": null
}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:
{
"codigo": "102",
"descricao": "centro de custo 102",
"centro_custo_pai": 2,
"aceita_lancamento": "S",
"codigo_externo": "10"
}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:
{
"codigo": "102",
"descricao": "centro de custo 102",
"centro_custo_pai": 2
}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.