APIs

Uso da SDK para acesso as entidades

210 views 25/05/2020 13/08/2020 lemoel-marques 0

Uso da SDK para acesso as entidades

Implementação para JAVA

Exemplos de requisições as entidades

1) O Syndicate.class aqui define o objeto da entidade que você deseja requisitar, neste exemplo foi usado a entidade Syndicate.

 EntityPage<Syndicate> retorno = new EntitiesUtils<>("hcm", "payroll", token, Syndicate.class).executeGet("syndicate", null);
Para fazer uma consulta usando o filtro
// Caso seja necessário utilizar a classe de filtro
String filter = new FilterBuilder().field("id").equals("60B3957C72C44E00A9739451B07265C3").build();
// O mesmo terá como retorno o seguinte : ?filter=id eq '60B3957C72C44E00A9739451B07265C3'
Get
public static final String ENTITY_NAME = "syndicate";
EntityPage<Syndicate> entityUtils = new EntitiesUtils<>("hcm", "payroll", token, Syndicate.class);

public void getEntity() {    
    EntityPage featureToggle = entityUtils.executeGet(ENTITY_NAME, null); 
}

public void getByIdEntity() {
    Syndicate syndicate = (Syndicate)entityUtils.executeGetById(ENTITY_NAME, "60B3957C72C44E00A9739451B07265C3");    
}
Post
public void postEntity() {
     Syndicate payload   = new Syndicate("4ca94ee8-a1c2-11ea-bb37-0242af",2L,"Nome Sidicato", 12L);
     Syndicate syndicate = (Syndicate)entityUtils.executePost(ENTITY_NAME, payload);
}
Put
public void putEntity() {
   Syndicate payload   = new Syndicate("4ca94ee8-a1c2-11ea-bb37-0242af", 2L, "Sindicato de Tudo", 12L);
   Syndicate putResult = (Syndicate) entityUtils.executePut(ENTITY_NAME, "4ca94ee8-a1c2-11ea-bb37-0242af", payload);
}
Delete
public void deleteEntity() {
    entityUtils.executeDelete(ENTITY_NAME, "4ca94ee8-a1c2-11ea-bb37-0242af");
}

Para mais informações sobre como utilizar filtros – Odata
https://dev.senior.com.br/documentacao/uso-da-sdk-generica-de-entidades/tutorial-de-uso-das-apis-de-entidade-com-odata

A SDK Java pode ser encontrada no endereço abaixo

https://github.com/dev-senior-com-br/senior-core-java

Exemplos de código Java utilizando as entidades
https://github.com/dev-senior-com-br/senior-core-java/tree/master/src/test/java/br/com/senior/core/example

Implementação para Node

Exemplos de requisições as entidades

1) O Vacancy aqui faz a tipagem do retorno da entidade, neste exemplo utilizamos a entidade Vacancy do hcm recruitment.

const entity: Entity<Vacancy> = api.getEntity("hcm", "recruitment", "vacancy");
entity.get().then(resp => console.log(resp.body));
Para fazer uma consulta usando o filtro
// Caso seja necessário utilizar a classe de filtro
const filter = new FilterBuilder().field("id").equals("60B3957C72C44E00A9739451B07265C3").build();
// O mesmo terá como retorno o seguinte : ?filter=id eq '60B3957C72C44E00A9739451B07265C3'
Get
let entity: Entity = api.getEntity('hcm', 'recruitment', 'vacancy');
entity.get({id: '60B3957C72C44E00A9739451B07265C3'}).then(resp => console.log(resp.body));
Post
const vacancy: Vacancy = {
  description: 'descricao de vaga',
  justification: 'justificativa de vaga',
  reason: 'STAFF_INCREASE',
  title: 'titulo da vaga'
};
entity.post(vacancy).then(resp => console.log(resp.body));
Put
const vacancy: Vacancy = {
  description: 'descricao de vaga',
  justification: 'justificativa de vaga',
  reason: 'STAFF_INCREASE',
  title: 'titulo da vaga',
  id: '60B3957C72C44E00A9739451B07265C3' // Lembrar de passar o id dentro do objeto também
};
entity.put('60B3957C72C44E00A9739451B07265C3', vacancy).then(resp => console.log(resp.body));
Delete
entity.delete('60B3957C72C44E00A9739451B07265C3').then(resp => console.log(resp.body));
A SDK Node pode ser encontrada no endereço abaixo.

https://github.com/dev-senior-com-br/senior-core-node

Exemplos de código Node utilizando as entidades
https://github.com/dev-senior-com-br/senior-core-node/tree/master/examples

Uso de SDK com models gerados

Dentro de cada SDK tem uma pasta contendo as entidades geradas pelo `swagger.json` de cada serviço. Exemplos de entidades Vacancy Node e Vacancy Java.

Para saber qual o dominio, serviço e nome da entidade para chamar pelo EntitiesUtils (Java) ou getEntity (Node), você pode procurar sua entidade no dev.senior.com.br/api_publica.
No caso do Vacancy, o dominio é hcm, serviço é recruitment e entidade vacancy.

Este artigo foi útil para você?