コード例 #1
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile($"appsettings.json");
            var config = builder.Build();

            using (var client = new HttpClient())
            {
                var apiProdutoClient =
                    new APIProdutoClient(client, config);
                apiProdutoClient.Autenticar();

                if (apiProdutoClient.IsAuthenticatedUsingToken)
                {
                    apiProdutoClient.IncluirProduto(
                        new Produto()
                    {
                        CodigoBarras = "00003",
                        Nome         = "Teste Produto 03",
                        Preco        = 30.33
                    });

                    Interromper();

                    apiProdutoClient.IncluirProduto(
                        new Produto()
                    {
                        CodigoBarras = "00004",
                        Nome         = "Teste Produto 04",
                        Preco        = 44.04
                    });

                    Interromper();

                    Console.WriteLine("Produtos cadastrados: " +
                                      JsonConvert.SerializeObject(
                                          apiProdutoClient.ListarProdutos()));
                }
            }

            Console.WriteLine("\nFinalizado!");
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile($"appsettings.json");
            var config = builder.Build();

            var jsonOptions = new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(
                    config.GetSection("APIProdutos_Access:UrlBase").Value);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                // Envio da requisição a fim de autenticar
                // e obter o token de acesso
                HttpResponseMessage respToken = client.PostAsync(
                    "login", new StringContent(
                        JsonSerializer.Serialize(new
                {
                    UserID   = config.GetSection("APIProdutos_Access:UserID").Value,
                    Password = config.GetSection("APIProdutos_Access:Password").Value
                }), Encoding.UTF8, "application/json")).Result;

                string conteudo =
                    respToken.Content.ReadAsStringAsync().Result;
                Console.WriteLine(conteudo);

                if (respToken.StatusCode == HttpStatusCode.OK)
                {
                    Token token = JsonSerializer.Deserialize <Token>(
                        conteudo, jsonOptions);
                    if (token.Authenticated)
                    {
                        // Associar o token aos headers do objeto
                        // do tipo HttpClient
                        client.DefaultRequestHeaders.Authorization =
                            new AuthenticationHeaderValue("Bearer", token.AccessToken);

                        var apiProdutoClient =
                            new APIProdutoClient(client, jsonOptions);

                        apiProdutoClient.IncluirProduto(
                            new Produto()
                        {
                            CodigoBarras = "00003",
                            Nome         = "Teste Produto 03",
                            Preco        = 30.33
                        });

                        apiProdutoClient.IncluirProduto(
                            new Produto()
                        {
                            CodigoBarras = "00004",
                            Nome         = "Teste Produto 04",
                            Preco        = 44.04
                        });

                        Console.WriteLine("Produtos cadastrados: " +
                                          JsonSerializer.Serialize(
                                              apiProdutoClient.ListarProdutos()));
                    }
                }
            }

            Console.WriteLine("\nFinalizado!");
        }