Skip to content

Latest commit

 

History

History

service_integrator

Integrador Swoole

🧱 Projeto criado com Siler, que facilita a utilização do Swoole.

Instalação

Por estar usando uma estrutura de pastas diferença, a pasta do .git esta no nível acima, vai apresentar error na configuração do captainhook/captainhook, mas a instalação dos componentes é finalizada corretamente.

composer install

Comandos

composer start

Levanta o Servidor embutido do PHP na porta 8080.

composer swoole

Levanta o Servidor do Swoole na porta 9501.

docker-compose up

Recomentado se não tiver o Swoole instalado na maquina ou o xdebug padrão configurado. Levanta o Docker usando Dwoole na porta 9501.

Testes

Esta usando ramsey/devtools com o Pest.

composer test:unit

Configuração de injeção de dependência

bootstrap.php

Foi usando o componente de injeção de dependência do Symfony o The DependencyInjection Component

Configuração de variáveis de ambiente

Todo: configurar o docker composer para subir todos os serviços e obter os endereços internos.

etc/app.ini

[app]
name = "Hello, World!"

[service.one]
url = 'http://127.0.0.1:8000'

[service.two]
url = 'http://127.0.0.1:8001'

[service.three]
url = 'http://127.0.0.1:8003'

Rotas

Arquivo de configuração.

index.php

Busca uma informação segura por ID do Service One

OBS : Se estiver usando o docker essa rota não vai conseguir achar o Service One pois não esta configurado o docker network.

URL : /v1/find-information-by-id/{informationId}

Method : GET

Response

{
  "cpf": "00012398727",
  "nome": "Name test",
  "endereco": "Address test"
}

Serviço esta usando Mock dos dados.

Busca uma informação segura por CPF do Service One e Service Two

URL : /v1/find-information-by-cpf-service-one-two/{cpf}

Method : GET

Response

{
  "cliente": {
    "cpf": "74894733064",
    "nome": "Nome mock test",
    "endereco": "Endereço Mock"
  },
  "detalhes": {
    "idade": 30,
    "bens": {
      "veiculos": {
        "carro": "hb20"
      },
      "imoveis": {
        "apto": "rua xx ali"
      }
    },
    "renda": [
      "empresa x",
      "aposentadoria"
    ]
  }
}

Serviço esta usando Mock dos dados.

Busca informação de todos os serviços por CPF.

URL : /v1/find-information-all-by-cpf/{cpf}

Method : GET

Response

{
  "cliente": {
    "cpf": "74894733064",
    "nome": "Nome mock test",
    "endereco": "Endereço Mock"
  },
  "detalhes": {
    "idade": 30,
    "bens": {
      "veiculos": {
        "carro": "hb20"
      },
      "imoveis": {
        "apto": "rua xx ali"
      }
    },
    "renda": [
      "empresa x",
      "aposentadoria"
    ]
  },
  "atividades": {
    "ultimaConsulta": "2020-08-05T00:00:00+00:00",
    "ultimaCompra": "kabum",
    "movimentacoesFinanceiras": {
      "debitos": [
        "deb -> 1",
        "deb -> 2"
      ],
      "cretidos": [
        "cred -> 1",
        "cred -> 2"
      ]
    }
  }
}