GithubHelp home page GithubHelp logo

senior-core-java's Introduction

Senior API SDK para Java

Esta biblioteca permite desenvolvedores criar integrações das APIs da Senior.

Instalação

Usando Maven

  1. Executar mvn clean install, após a execução do comando Senior API SDK para Java estará instalado no repositório local do maven.

  2. Adicionar a dependência Senior Core no pom.xml do seu projeto

  ...
  <dependencies>
      <dependency>
          <groupId>br.com.senior</groupId>
          <artifactId>senior-core-java</artifactId>
          <version>2.0.0</version>
      </dependency>
  </dependencies>
  ...
  1. Para obter a última versão da SDK verifique no repositório. https://mvnrepository.com/artifact/br.com.senior/senior-core-java

Ambiente

Atualmente o ambiente padrão para o desenvolvimento é o da Homologx. Para fazer a troca do ambiente basta chamar o construtor da api passando um dos Environments configurados:

public enum Environment {

    PROD("https://api.senior.com.br"),
    HOMOLOG("https://platform-homologx.senior.com.br/t/senior.com.br/bridge/1.0");

    private final String url;

    Environment(String url) {
        this.url = url;
    }
}

Exemplo Rápido

Implementamos no pacote examples/src/main/java/br/com/senior/core/ um conjunto de classes de exemplos para cada serviço. Alguns serviços dependem de variáveis que precisam ser informadas pelos usuários, como login e senha para testar o login, ou token de acesso para os testes de autorização. Testes de login multi-fator por exemplo dependem de um usuário que esteja configurado dessa para tal.

O ambiente pode ser definido no construtor de cada client, por padrão é utilizado o ambiente de homologação.

Os exemplos são implementações funcionais, basta copiar o código do exemplo que se deseja para sua aplicação.

Utilizando como exemplo o login, caso a aplicação queira efetuar o login integrado com a Senior, basta adicionar a dependência no maven e utilizar o cliente de autenticação, por exemplo:

    ...
    final String username = "[email protected]";
    final String password = "minha_senha";
    AuthenticationClient client = new AuthenticationClient();
    LoginOutput output = client.login(new LoginInput(username, password));
    ...

Para mudar o ambiente para produção é necessário informar o environment ao chamar o construtor do Client:

  AuthenticationClient client = new AuthenticationClient(Environment.PROD);

Exemplos implementados

Variáveis de ambiente:

#Propriedades obrigatórias para todos os tipos de autenticação
TENANT_DOMAIN=<dominio_do_tenant>
TENANT_NAME=<nome_do_tenant>

#Login
SENIOR_USERNAME=<usuario>
PASS=<senha_do_usuario>

#Login multifator 
USERNAME_MFA=<nome_do_usuario_multifactor>
PASSWORD_MFA=<senha_do_usuario_multifactor>

#Login de aplicativo
ACCESS_KEY=<chave_de_acesso>
SECRET=<secret_de_acesso>

Entidades

Implementamos a parte de utilidades para entidades, para facilitar as requisições realizadas para as mesmas. Conforme exemplos abaixo:

Como realizar uma chamada rest de uma entidade:

// O Objeto.class defini ao objeto da entidade que você deseja requisitar.
Objeto retorno = new EntitiesUtils<>(dominio, serviço, token de autenticação, Objeto.class).executeGet(entity_name, filter);

// Caso seja necessário utilizar a classe de filtro
String filter = new FilterBuilder().field("id").equals("123").build();
// O mesmo terá como retorno o seguinte : ?filter=id eq 123

Suporte

Criar um issue https://github.com/dev-senior-com-br/senior-core-java/issues

License

Copyright © 2020.

senior-core-java's People

Contributors

paulo-weber avatar lemoel avatar andremrezende avatar ssouza avatar wallacetm avatar alexanderdorow avatar jefersonfrancisco avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.