Pop

56.Servicios Web.API REST. MVC .Consumiendo Método Post- Visual Studio 2017

56-.Servicios Web.API REST. MVC- Consumiendo Método Post

- En este capítulo del curso de programación en c# con visual studio 2017,vamos a continuar con  los servicios web. En esta entrada vamos a consumir desde un cliente el método post que nos permite crear un un usuario en nuestro sistema.

- En la anterior entrada aprendimos a definir el método que guarda en nuestra base de datos dentro de un API /REST. En esta ocasión llamamos a este método desde un cliente mediante una llamada del tipo http://localhost:57963/API/Usuario.  Además de la ruta de la url a la que hacemos la petición debemos agregar a la petición el tipo de datos que espera nuestro método. Esto lo hacemos facilmente serializando y deserializando los objetos utilizando el formato JSON.

- En el video podéis ver el ejemplo:


- Os dejo un enla a una página de Microsoft donde podéis ver información más detallada:

- También os dejo el código del ejemplo visto en el video:

  • Clase usuario que serializamos en la petición:
public class Usuario
{
    string nombre = String.Empty;
    string email = String.Empty;
    byte[] pass = null;
    string codPais = String.Empty;

    public string Nombre { get => nombre; set => nombre = value; }
    public string Email { get => email; set => email = value; }
    public byte[] Pass { get => pass; set => pass = value; }
    public string CodPais { get => codPais; set => codPais = value; }
}

  • Ejemplo de petición:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace GestionVarios
{
    public partial class APIREST : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

          protected void btnAltaUSuario_Click(object sender, EventArgs e)
        {
                string ResultadoCadena = String.Empty;

            Usuario u = new Usuario();
            u.Nombre = "Bart Simpson";
            u.Email = "BartSimpson@email.com";
            u.CodPais = "ARG";
            u.Pass = cifrar("BART");

            JsonSerializerSettings ConfigJson = new JsonSerializerSettings(); //Evitar que se serialicen los nodos cuyo valor sea nulo (Los ignora).
            ConfigJson.NullValueHandling = NullValueHandling.Ignore;
            byte[] Datos = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(u, Formatting.None, ConfigJson));

            HttpWebRequest WReq = (HttpWebRequest)HttpWebRequest.Create("http://localhost:57963/API/Usuario");
                WReq.ContentType = "application/json; charset=UTF-8";
                WReq.ContentLength = Datos.Length;
                WReq.Method = "POST";
                WReq.GetRequestStream().Write(Datos, 0, Datos.Length);

                HttpWebResponse res = (HttpWebResponse)WReq.GetResponse();
                Encoding Codificacion = ASCIIEncoding.UTF8;

                StreamReader SReader = new StreamReader(res.GetResponseStream(), Codificacion);
                ResultadoCadena = SReader.ReadToEnd();

            lblResultado.Text = ResultadoCadena;

               
            }

        private byte[] cifrar(string cadenaAcifrar)
        {
            String miclave = ConfigurationManager.AppSettings["clave"];
            byte[] claveCifrado = System.Text.Encoding.ASCII.GetBytes(miclave);
            Cifrado c = new Cifrado(claveCifrado);
            byte[] b = c.cifrar(cadenaAcifrar);
            return b;
        }
    }

 
}

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...