Unip.Diploma.Cliente
1.0.0
dotnet add package Unip.Diploma.Cliente --version 1.0.0
NuGet\Install-Package Unip.Diploma.Cliente -Version 1.0.0
<PackageReference Include="Unip.Diploma.Cliente" Version="1.0.0" />
paket add Unip.Diploma.Cliente --version 1.0.0
#r "nuget: Unip.Diploma.Cliente, 1.0.0"
// Install Unip.Diploma.Cliente as a Cake Addin #addin nuget:?package=Unip.Diploma.Cliente&version=1.0.0 // Install Unip.Diploma.Cliente as a Cake Tool #tool nuget:?package=Unip.Diploma.Cliente&version=1.0.0
UNIP - Diploma Cliente
Pacote para facilitar o uso da API para acessar dados e arquivos, referentes aos diplomas de aluno UNIP e associadas.
Último release
Release 1.0.0
Features
- Incluindo serviço SobreServ, para obter dados da API.
- ObterAsync obter os dados sobre a API por um objeto.
- ObterJsonAsync obter os dados sobre a API por uma string Json.
- Incluindo serviço AutenticacaoServ, para obter de acesso.
- ObterAsync obter os dados da autenticação da API por um objeto.
- ObterJsonAsync obter os dados da autenticação da API por uma string Json.
- Incluindo serviço DiplomaServ, com recursos do diploma.
- VerificarAsync verifica os dados do diploma, se houver, por um objeto.
- VerificarJsonAsync verifica os dados do diploma, se houver, por uma string Json.
- ObterAsync obter o arquivo do diploma (XML ou PDF) em bytes.
Configuração
Para pode usar os recursos do pacote, são necessárias 3 (três) configurações:
URL
: (OBRIGATÓRIO) Informar a URL da API que irá ser carregada.Chave Pública
: (OBRIGATÓRIO) Informar a chave pública de acesso a API.Json Converte
: (OBRIGATÓRIO) Implementar e associar a interface IJsonConvert, que será usada para converter Json para um objeto. É exigida a impelmentação dessa interface, para não ter a necessidade de exigir Newtonsoft.Json no projeto, permitindo que o projeto possa usar o pacote para json mais adequado as suas necessidades.
É um Singleton, então só precisa ser atribuído um única vez dependendo da sua aplicação:
Unip.Diploma.Config.JsonConvert = new JsonConverte();
Unip.Diploma.Config.Url = "https://api.site.com.br/pasta/";
Unip.Diploma.Config.ChavePublica = "160MYEAto65UhwwrJsTtCBgVpwpj499CML4rK7y1bFpZLMudMk";
IJsonConvert
Exemplo de implementação para IJsonConvert com Newtonsoft.Json:
using Newtonsoft.Json;
namespace Seu.Projeto.Csharp.Teste
{
public class JsonConverte
: Unip.Diploma.Cliente.IJsonConvert
{
public T Desserializar<T>(string json, bool ignoreNull = false)
{
return JsonConvert.DeserializeObject<T>(json, new JsonSerializerSettings
{
NullValueHandling = ignoreNull
? NullValueHandling.Ignore
: NullValueHandling.Include
});
}
public string Serializar(object json, bool ignoreNull = false)
{
return JsonConvert.SerializeObject(json, new JsonSerializerSettings
{
NullValueHandling = ignoreNull
? NullValueHandling.Ignore
: NullValueHandling.Include
});
}
}
}
Exemplo de implementação para IJsonConvert com System.Text.Json:
using System.Text.Json;
namespace Seu.Projeto.Csharp.Teste
{
public class JsonConverte
: Unip.Diploma.Cliente.IJsonConvert
{
public T Desserializar<T>(string json, bool ignoreNull = false)
{
return JsonSerializer.Deserialize<T>(json, new JsonSerializerOptions
{
IgnoreNullValues = ignoreNull,
PropertyNameCaseInsensitive = true
});
}
public string Serializar(object json, bool ignoreNull = false)
{
return JsonSerializer.Serialize(json, new JsonSerializerOptions
{
IgnoreNullValues = ignoreNull,
PropertyNameCaseInsensitive = true
});
}
}
}
Chamando API
Um exemplo de teste de obter os dados da API.
using Xunit;
using System.Threading.Tasks;
using Unip.Diploma.Cliente.Servicos;
using Unip.Diploma.Cliente.ObjetosDeValor;
namespace Seu.Projeto.Csharp.Teste
{
public class SobreServTeste
{
[Fact]
public async Task Obter()
{
SobreServ serv = new();
Sobre dados = await serv.ObterAsync();
Avisos avisos = serv.Avisos;
Assert.True(serv.EhValido());
Assert.False(avisos.HaErro);
Assert.NotNull(dados);
}
}
}
Algumas chamadas precisam de parâmetros, e neste caso, há classes para mandar esses valores. Para esse exemplo, vou usar o serviço de verificação de diploma.
using Xunit;
using System;
using System.Threading.Tasks;
using Unip.Diploma.Cliente.Servicos;
using Unip.Diploma.Cliente.ObjetosDeValor;
using Unip.Diploma.Cliente.Comandos.DiplomaCmd;
namespace Seu.Projeto.Csharp.Teste
{
public class DiplomaServTeste
{
[Fact]
public async Task Verificar_por_codigo()
{
DiplomaServ serv = new();
VerificarDiplomaCmd comando = new()
{
Codigo = "0000.0000.000000000000"
};
ObjetosDeValor.Diploma dados = await serv.VerificarAsync(comando);
Avisos avisos = serv.Avisos;
Assert.True(serv.EhValido());
Assert.False(avisos.HaErro);
Assert.Equal(200, avisos.Codigo);
Assert.NotNull(dados);
}
[Fact]
public async Task Verificar_por_token()
{
DiplomaServ serv = new();
VerificarDiplomaCmd comando = new()
{
Token = "000000000000000000000000000000000000"
};
ObjetosDeValor.Diploma dados = await serv.VerificarAsync(comando);
Avisos avisos = serv.Avisos;
Assert.True(serv.EhValido());
Assert.False(avisos.HaErro);
Assert.Equal(200, avisos.Codigo);
Assert.NotNull(dados);
}
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 219 | 9/1/2022 |
### Release 1.0.0
#### `Features`
- Incluindo serviço **SobreServ**, para obter dados da API.
- **ObterAsync** obter os dados sobre a API por um objeto.
- **ObterJsonAsync** obter os dados sobre a API por uma string Json.
- Incluindo serviço **AutenticacaoServ**, para obter de acesso.
- **ObterAsync** obter os dados da autenticação da API por um objeto.
- **ObterJsonAsync** obter os dados da autenticação da API por uma string Json.
- Incluindo serviço **DiplomaServ**, com recursos do diploma.
- **VerificarAsync** verifica os dados do diploma, se houver, por um objeto.
- **VerificarJsonAsync** verifica os dados do diploma, se houver, por uma string Json.
- **ObterAsync** obter o arquivo do diploma (**XML** ou **PDF**) em bytes.