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.