¿Qué son los servicios web Restful?
Restful Web Services es un servicio liviano, fácil de mantener y escalable que se basa en la arquitectura REST. Restful Web Service, exponga la API de su aplicación de una manera segura, uniforme y sin estado al cliente que realiza la llamada. El cliente que llama puede realizar operaciones predefinidas utilizando el servicio Restful. El protocolo subyacente para REST es HTTP. REST significa Transferencia de Estado REpresentacional.
En este tutorial de la API REST, aprenderá:
- Elementos clave de RESTful
- Métodos tranquilos
- Por qué Restful
- Arquitectura tranquila
- Restricciones y principios de RestFul
- Cree su primer servicio web Restful en ASP.NET
- Ejecutando su primer servicio web Restful
- Probando su primer servicio web Restful
Elementos clave de RESTful
Los servicios web REST realmente han recorrido un largo camino desde sus inicios. En 2002, el consorcio Web había publicado la definición de servicios web WSDL y SOAP. Esto formó el estándar de cómo se implementan los servicios web.
En 2004, el consorcio web también publicó la definición de un estándar adicional llamado RESTful. En los últimos años, este estándar se ha vuelto bastante popular. Y está siendo utilizado por muchos de los sitios web populares de todo el mundo, que incluyen Facebook y Twitter.
REST es una forma de acceder a recursos que se encuentran en un entorno particular. Por ejemplo, podría tener un servidor que podría albergar documentos, imágenes o videos importantes. Todos estos son un ejemplo de recursos. Si un cliente, digamos que un navegador web necesita alguno de estos recursos, tiene que enviar una solicitud al servidor para acceder a estos recursos. Ahora los servicios REST definen una forma de acceder a estos recursos.
Los elementos clave de una implementación RESTful son los siguientes:
-
Recursos : el primer elemento clave es el recurso en sí. Supongamos que una aplicación web en un servidor tiene registros de varios empleados. Supongamos que la URL de la aplicación web es http://demo.guru99.com . Ahora, para acceder a un recurso de registro de empleados a través de los servicios REST, se puede emitir el comando http://demo.guru99.com/employee/1 : este comando le indica al servidor web que proporcione los detalles del empleado cuyo número de empleado es 1.
-
Verbos de solicitud : describen lo que desea hacer con el recurso. Un navegador emite un verbo GET para indicar al punto final que desea obtener datos. Sin embargo, hay muchos otros verbos disponibles, incluidos elementos como POST, PUT y DELETE. Entonces, en el caso del ejemplo http://demo.guru99.com/employee/1 , el navegador web en realidad está emitiendo un verbo GET porque quiere obtener los detalles del registro del empleado.
-
Encabezados de solicitud : son instrucciones adicionales que se envían con la solicitud. Estos pueden definir el tipo de respuesta requerida o los detalles de la autorización.
-
Cuerpo de la solicitud : los datos se envían con la solicitud. Los datos normalmente se envían en la solicitud cuando se realiza una solicitud POST a los servicios web REST. En una llamada POST, el cliente realmente le dice a los servicios web REST que desea agregar un recurso al servidor. Por lo tanto, el cuerpo de la solicitud tendría los detalles del recurso que se debe agregar al servidor.
-
Cuerpo de respuesta : este es el cuerpo principal de la respuesta. Entonces, en nuestro ejemplo de API RESTful, si tuviéramos que consultar el servidor web a través de la solicitud http://demo.guru99.com/employee/1 , el servidor web podría devolver un documento XML con todos los detalles del empleado en la Respuesta Cuerpo.
-
Códigos de estado de respuesta : estos códigos son los códigos generales que se devuelven junto con la respuesta del servidor web. Un ejemplo es el código 200 que normalmente se devuelve si no hay ningún error al devolver una respuesta al cliente.
Métodos tranquilos
El siguiente diagrama muestra la mayoría de los verbos (POST, GET, PUT y DELETE) y un ejemplo de API REST de lo que significarían.
Supongamos que tenemos un servicio web RESTful definido en la ubicación. http://demo.guru99.com/employee . Cuando el cliente realiza alguna solicitud a este servicio web, puede especificar cualquiera de los verbos HTTP normales de GET, POST, DELETE y PUT. A continuación se muestra lo que sucedería si el cliente enviara los verbos respectivos.
- POST : esto se usaría para crear un nuevo empleado utilizando el servicio web RESTful
- OBTENER : esto se usaría para obtener una lista de todos los empleados que usan el servicio web RESTful
- PUT : esto se usaría para actualizar a todos los empleados que usan el servicio web RESTful
- ELIMINAR : esto se usaría para eliminar a todos los empleados que usan los servicios RESTful
Echemos un vistazo desde la perspectiva de un solo registro. Digamos que hay un registro de empleado con el número de empleado 1.
Las siguientes acciones tendrían sus respectivos significados.
- POST : esto no sería aplicable ya que estamos obteniendo datos del empleado 1 que ya están creados.
- OBTENER : esto se usaría para obtener los detalles del empleado con Empleado no como 1 usando el servicio web RESTful
- PUT : esto se usaría para actualizar los detalles del empleado con el número de empleado como 1 usando el servicio web RESTful
- BORRAR : se utiliza para eliminar los detalles del empleado con el número de empleado como 1
Por qué Restful
Restful se hizo popular principalmente por las siguientes razones:
- Lenguajes y entornos heterogéneos: esta es una de las razones fundamentales que es la misma que hemos visto para SOAP también.
- Permite que las aplicaciones web que se basan en varios lenguajes de programación se comuniquen entre sí.
- Con la ayuda de los servicios Restful, estas aplicaciones web pueden residir en diferentes entornos, algunas podrían estar en Windows y otras en Linux.
Pero al final, no importa cuál sea el entorno, el resultado final siempre debería ser el mismo que deberían poder hablar entre ellos. Los servicios web Restful ofrecen esta flexibilidad a las aplicaciones creadas en varios lenguajes de programación y plataformas para comunicarse entre sí.
La imagen de abajo da un ejemplo de una aplicación web que tiene el requisito de comunicarse con otras aplicaciones como Facebook, Twitter y Google.
Ahora bien, si una aplicación cliente tuviera que trabajar con sitios como Facebook, Twitter, etc., probablemente tendrían que saber en qué idioma están construidos Facebook, Google y Twitter, y también en qué plataforma están construidos.
En base a esto, podemos escribir el código de interfaz para nuestra aplicación web, pero esto podría resultar una pesadilla.
Facebook, Twitter y Google exponen su funcionalidad en forma de servicios web Restful. Esto permite que cualquier aplicación cliente llame a estos servicios web a través de REST.
- El evento de los dispositivos: hoy en día, todo debe funcionar en dispositivos móviles, ya sea el dispositivo móvil, las computadoras portátiles o incluso los sistemas de automóviles.
¿Te imaginas la cantidad de esfuerzo para probar y codificar aplicaciones en estos dispositivos para que se comuniquen con aplicaciones web normales? Una vez más, las API Restful pueden simplificar este trabajo porque, como se mencionó en el punto 1, realmente no necesita saber cuál es la capa subyacente del dispositivo.
- Finalmente está el evento de la Nube: Todo se está moviendo hacia la Nube. Las aplicaciones se están moviendo lentamente hacia sistemas basados en la nube como Azure o Amazon. Azure y Amazon proporcionan muchas API basadas en la arquitectura Restful. Por lo tanto, las aplicaciones ahora deben desarrollarse de tal manera que sean compatibles con la nube. Entonces, dado que todas las arquitecturas basadas en la nube funcionan según el principio REST, tiene más sentido que los servicios web se programen en la arquitectura basada en servicios REST para hacer el mejor uso de los servicios basados en la nube.
Arquitectura tranquila
Una aplicación o arquitectura considerada RESTful o estilo REST tiene las siguientes características
- El estado y la funcionalidad se dividen en recursos distribuidos: esto significa que todos los recursos deben ser accesibles a través de los comandos HTTP normales de GET, POST, PUT o DELETE. Entonces, si alguien quisiera obtener un archivo de un servidor, debería poder emitir la solicitud GET y obtener el archivo. Si quieren poner un archivo en el servidor, deberían poder emitir la solicitud POST o PUT. Y finalmente, si querían eliminar un archivo del servidor, emitían la solicitud DELETE.
- La arquitectura es cliente / servidor, sin estado, en capas y admite el almacenamiento en caché:
- Cliente-servidor es la arquitectura típica en la que el servidor puede ser el servidor web que aloja la aplicación y el cliente puede ser tan simple como el navegador web.
- Sin estado significa que el estado de la aplicación no se mantiene en REST.
Por ejemplo, si elimina un recurso de un servidor mediante el comando DELETE, no puede esperar que la información de eliminación se pase a la siguiente solicitud.
Para asegurarse de que se elimine el recurso, deberá emitir la solicitud GET. La solicitud GET se usaría para obtener primero todos los recursos en el servidor. Después de lo cual, sería necesario ver si el recurso se eliminó realmente.
RESTFul Principios y restricciones
La arquitectura REST se basa en algunas características que se detallan a continuación. Todo servicio web RESTful tiene que cumplir con las siguientes características para que pueda denominarse RESTful. Estas características también se conocen como principios de diseño que deben seguirse cuando se trabaja con servicios basados en RESTful.
- RESTFul Cliente-Servidor
Este es el requisito más fundamental de una arquitectura basada en REST. Significa que el servidor tendrá un servicio web RESTful que proporcionaría la funcionalidad requerida al cliente. El cliente envía una solicitud al servicio web en el servidor. El servidor rechazaría la solicitud o cumpliría y proporcionaría una respuesta adecuada al cliente.
- Apátrida
El concepto de apátrida significa que depende del cliente asegurarse de que se proporcione toda la información requerida al servidor. Esto es necesario para que el servidor pueda procesar la respuesta de forma adecuada. El servidor no debe mantener ningún tipo de información entre las solicitudes del cliente. Es una secuencia de preguntas y respuestas independientes muy simple. El cliente hace una pregunta, el servidor la responde adecuadamente. El cliente hará otra pregunta. El servidor no recordará el escenario anterior de preguntas y respuestas y deberá responder la nueva pregunta de forma independiente.
- Cache
El concepto de caché es para ayudar con el problema de los apátridas que se describió en el último punto. Dado que cada solicitud del cliente del servidor es de naturaleza independiente, a veces el cliente puede volver a solicitar al servidor la misma solicitud. Esto es a pesar de que ya lo había pedido en el pasado. Esta solicitud irá al servidor y el servidor dará una respuesta. Esto aumenta el tráfico en la red. La caché es un concepto implementado en el cliente para almacenar solicitudes que ya han sido enviadas al servidor. Entonces, si el cliente da la misma solicitud, en lugar de ir al servidor, iría al caché y obtendría la información requerida. Esto ahorra la cantidad de tráfico de red de ida y vuelta del cliente al servidor.
- Sistema en capas
El concepto de un sistema en capas es que cualquier capa adicional, como una capa de middleware, se puede insertar entre el cliente y el servidor real que aloja el servicio web RESTFul (la capa de middleware es donde se crea toda la lógica empresarial. Este puede ser un servicio adicional creado con el que el cliente podría interactuar antes de realizar una llamada al servicio web). Pero la introducción de esta capa debe ser transparente para que no perturbe la interacción entre el cliente y el servidor.
- Interfaz / Contrato uniforme
Esta es la técnica subyacente de cómo deberían funcionar los servicios web RESTful. RESTful básicamente funciona en la capa web HTTP y usa los verbos clave a continuación para trabajar con recursos en el servidor
- POST: para crear un recurso en el servidor
- OBTENER: para recuperar un recurso del servidor
- PUT: para cambiar el estado de un recurso o actualizarlo
- ELIMINAR: para eliminar o eliminar un recurso del servidor
Cree su primer servicio web Restful en ASP.NET
Ahora, en este tutorial de la API REST, aprenderemos cómo crear un servicio web Restful en ASP.NET:
Los servicios web se pueden crear en una variedad de idiomas. Se pueden utilizar muchos entornos de desarrollo integrados para crear servicios basados en REST.
En este ejemplo de API RESTful, vamos a crear nuestra aplicación REST en .Net usando Visual Studio. En nuestro ejemplo, para los servicios web Restful vamos a emular el siguiente ejemplo de servicio REST.
Vamos a tener un servicio web Restful que funcionará con el siguiente conjunto de datos.
El siguiente conjunto de datos representa un ejemplo de API REST de tener una empresa que expone los tutoriales que tienen basados en el Tutorialid.
Tutorialid | TutorialName |
0 | Matrices |
1 | Colas |
2 | Pilas |
En nuestro ejemplo de tutorial de API REST, vamos a implementar los siguientes Restful Verbs.
- OBTENER Tutorial: cuando un cliente invoca esta API Restful, se le proporcionará el conjunto completo de tutoriales disponibles en el servicio web.
- OBTENER Tutorial / Tutorialid: cuando un cliente invoca esta API Restful, se le dará el nombre del Tutorial basado en el Tutorialid enviado por el cliente.
- POST Tutorial / Tutorialname: cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para insertar un Tutorialname. El servicio web luego agregará el nombre del Tutorial enviado a la colección.
- ELIMINAR Tutorial / Tutorialid: cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para eliminar un nombre de Tutorial basado en el Tutorialid. A continuación, el servicio web eliminará de la colección el nombre del tutorial enviado.
Sigamos los pasos a continuación en este tutorial de API RESTful para crear nuestro primer servicio web RESTful, que lleva a cabo la implementación anterior.
Paso 1) El primer paso es crear una aplicación web Asp.Net vacía. Desde Visual Studio 2013, haga clic en la opción de menú Archivo-> Nuevo proyecto.
Una vez que haga clic en la opción Nuevo proyecto, Visual Studio le dará otro cuadro de diálogo para elegir el tipo de proyecto y proporcionar los detalles necesarios del proyecto. Esto se explica en el siguiente paso de este tutorial de API RESTful
Paso 2) En este paso,
- Asegúrese de elegir primero la plantilla web C # de servicios web RESTful de la aplicación web ASP.NET. El proyecto tiene que ser de este tipo para poder crear un proyecto de servicios web. Al elegir estas opciones, Visual Studio llevará a cabo los pasos necesarios para agregar los archivos requeridos que son requeridos por cualquier aplicación basada en web.
- Dé un nombre a su proyecto que en nuestro caso se ha dado como "Webservice.REST".
- Luego asegúrese de dar una ubicación, donde se almacenarán los archivos del proyecto.
Una vez hecho esto, verá el archivo de proyecto creado en su explorador de soluciones en Visual Studio 2013.
Paso 3) El siguiente paso es crear el archivo del servicio web que va a tener el servicio web RESTful
- Primero, haga clic derecho en el archivo del proyecto como se muestra a continuación
- En este paso,
- Haga clic derecho en el archivo del proyecto
- Elija la opción "Agregar-> nuevo elemento".
En el cuadro de diálogo que aparece, debe realizar lo siguiente
- Elija la opción de Servicio WCF (habilitado para Ajax): elija un archivo de este tipo, hace que Visual Studio agregue un código básico que ayuda a crear un servicio web RESTful. WCF son las siglas de Windows Communication Foundation. WCF es una biblioteca para aplicaciones de varias plataformas o la misma plataforma para comunicarse a través de varios protocolos como TCP, HTTP, HTTPS. Básicamente, Ajax es JavaScript y XML asíncronos. AJAX permite que las páginas web se actualicen de forma asincrónica mediante el intercambio de pequeñas cantidades de datos con el servidor detrás de escena.
- A continuación, dé un nombre para el servicio que es TutorialService en nuestro caso.
- Finalmente, haga clic en el botón Agregar para agregar el servicio a la solución.
Paso 4) El siguiente paso es realizar un cambio de configuración para permitir que este proyecto complete el trabajo con los servicios web RESTful. Esto requiere realizar un cambio en el archivo llamado Web.config . Este archivo aparece en la misma ventana que el archivo de proyecto del servicio web. El archivo Web.config contiene todas las configuraciones que hacen que la aplicación web funcione como debería. El cambio que se realiza en realidad permite que la aplicación envíe y reciba datos como un servicio web RESTful puro.
- Haga clic en el archivo Web.config para abrir el código.
- Busque la línea
- Cambie la línea a
Paso 5) El siguiente paso en este tutorial de API RESTful es agregar nuestro código para la implementación. Todo el código mencionado a continuación debe escribirse en el archivo TutorialService.svc
- El primer bit es agregar código para representar nuestros datos que se utilizarán en nuestro programa. Así que vamos a tener una lista de variables de cadena con valores de "Arrays", "Queues" y "Stacks". Esto representará el nombre de los tutoriales disponibles a través de nuestro servicio web de alojamiento.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Paso 6) A continuación, definiremos el código para nuestro método GET. Este código también residirá en el mismo archivo TutorialService.svc. Este código se ejecutará siempre que llamemos al servicio desde nuestro navegador.
El siguiente método se utilizará para cumplir con el escenario mencionado a continuación
- Si un usuario quiere una lista de todos los Tutoriales disponibles, entonces el siguiente código deberá escribirse para lograrlo.
[WebGet(UriTemplate="/Tutorial")]public String GetAllTutorial(){int count = 1st.Count;String TutorialList = "";for (int i = 0; i < count; i++)TutorialList = TutorialList + lst[i] + ",";return TutorialList;}
Explicación del código: -
- La primera línea de código es la más importante. Se utiliza para definir cómo podemos llamar a este método a través de una URL. Entonces, si el enlace a nuestro servicio web es http: // localhost: 52645 / TutorialService.svc y si agregamos el '/ Tutorial' a la URL como http: // localhost: 52645 / TutorialService.svc / Tutorial , el código anterior será invocado. El atributo de 'WebGet' es un parámetro que permite que este método sea un método RESTful para que pueda invocarse a través del verbo GET.
- Esta sección de código se usa para revisar nuestra lista de cadenas en la variable 'lst' y devolverlas todas al programa de llamada.
Paso 7) El código a continuación asegura que si se realiza una llamada GET al Servicio de Tutorial con un ID de Tutorial, entonces devolverá el Nombre del Tutorial correspondiente basado en el ID del Tutorial.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Explicación del código: -
- La primera línea de código es la más importante. Se utiliza para definir cómo podemos llamar a este método a través de una URL. Entonces, si el enlace a nuestro servicio web es http: // localhost: 52645 / TutorialService.svc y si agregamos el '/ Tutorial / {Tutorialid}' a la URL, entonces podríamos llamar al servicio web como http: //localhost:52645/TutorialService.svc/Tutorial/1 como ejemplo. El servicio web necesitaría devolver el nombre del Tutorial que tenía el ID del Tutorial n. ° 1.
- Esta sección de código se utiliza para devolver el "Nombre del tutorial" que tiene el ID del tutorial pasado al método web.
- De forma predeterminada, lo que debe recordarse es que todo lo que se pasa a la URL en el navegador es una cadena.
- Pero debe recordar que el índice de nuestra lista tiene que ser un número entero, por lo que estamos agregando el código necesario para convertir primero el Tutorialid en un entero y luego usarlo para acceder a la posición del índice en nuestra lista y
- Luego, devuelva el valor al programa de llamada en consecuencia.
Paso 8) El siguiente paso es escribir el código para nuestro método POST. Este método se invocará siempre que queramos agregar un valor de cadena a nuestra lista de tutoriales a través del método POST. Por ejemplo, si desea agregar el nombre del Tutorial de "Pruebas de software", deberá utilizar el método POST.
Explicación del código: -
- La primera línea es el atributo 'WebInvoke' que se ha adjuntado a nuestro método. Esto permite invocar el método mediante la llamada POST. Los atributos RequestFormat y ResponseFormat deben mencionarse como JSON, ya que al publicar valores en un servicio web RESTFul, los valores deben estar en este formato.
- La segunda línea de código se usa para agregar el valor de cadena pasado a través de la llamada POST a nuestra lista existente de cadenas de Tutorial.
Paso 9) Finalmente, agregaremos nuestro método para manejar la operación DELETE. Este método se invocará siempre que queramos eliminar un valor de cadena existente de nuestra lista de tutoriales mediante el método DELETE.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped)]public void DeleteTutorial(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);1st.RemoveAt(pid);}
Explicación del código: -
- La primera línea es el atributo 'WebInvoke' que se ha adjuntado a nuestro método. Esto permite invocar el método mediante la llamada POST. Los atributos RequestFormat y ResponseFormat deben mencionarse como JSON, ya que al publicar valores en un servicio web RESTFul, los valores deben estar en este formato. Tenga en cuenta que el parámetro Método se establece en "DELETE". Esto significa que cada vez que emitimos el verbo DELETE, se invocará este método.
- La segunda línea de código se usa para tomar el Tutorialid enviado a través de la llamada DELETE y posteriormente eliminar ese id de nuestra lista. (La función Int32 en el código se usa para convertir el ID del tutorial de una variable de cadena a un entero).
Ejecutando su primer servicio web Restful
Ahora que hemos creado todo nuestro servicio web en la sección anterior. Veamos cómo podemos ejecutar el servicio Tutorial para que se pueda invocar desde cualquier cliente.
Para ejecutar el servicio web, siga los pasos a continuación
Paso 1) Haga clic derecho en el archivo del proyecto - Webservice.REST
Paso 2) Elija la opción de menú 'Establecer como proyecto de inicio'. Esto asegurará que este proyecto se ejecute cuando Visual Studio ejecute toda la solución.
Paso 3) El siguiente paso es ejecutar el proyecto en sí. Ahora, dependiendo del navegador predeterminado instalado en el sistema, el nombre del navegador apropiado aparecerá junto al botón de ejecución en Visual Studio. En nuestro caso, aparece Google Chrome. Simplemente haga clic en este botón.
Producción:-
Cuando se ejecuta el proyecto, puede navegar a su sección TutorialService.svc / Tutorial, y obtendrá el siguiente resultado.
En la salida anterior,
- Puede ver que el navegador invoca el verbo 'GET' y ejecuta el método 'GetAllTutorial' en el servicio web. Este módulo se utiliza para mostrar todos los Tutoriales expuestos por nuestro servicio web.
Probando su primer servicio web Restful
En la sección anterior, ya hemos visto cómo usar el navegador para ejecutar el verbo 'GET' e invocar el 'GetAllTutorial'.
- Usemos ahora el navegador para ejecutar el siguiente escenario de caso de uso.
OBTENER Tutorial / Tutorialid: cuando un cliente invoca esta API Restful, se le dará el nombre del Tutorial basado en el Tutorialid enviado por el cliente
En su navegador, agregue la cadena / 1 después de la palabra Tutorial en la URL. Si presiona el botón Enter, obtendrá la siguiente salida
Ahora verá la salida de Colas que realmente corresponde al número 1 en nuestra lista de Cadenas de tutoriales. Esto significa que el método 'GetTutorialbyID' ahora se está invocando desde nuestro servicio web. También muestra que el valor de 1 se pasa con éxito a través del navegador a nuestro servicio web y a nuestro método y es por eso que obtenemos el valor correspondiente correcto de "Colas" en el navegador.
- A continuación, consumamos nuestro servicio web ejecutando el siguiente escenario. Para ello, debe instalar la herramienta llamada "Fiddler", que es una herramienta descargable gratuita desde el sitio.
POST Tutorial / Tutorialname: cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para insertar un Tutorialname. El servicio web luego agregará el nombre del Tutorial enviado a la colección.
Ejecute la herramienta Filddler y realice los siguientes pasos;
- Vaya a la sección del compositor. Esto se utiliza para crear solicitudes que se pueden enviar a cualquier sitio web.
solicitud.
- Asegúrese de que el tipo de solicitud sea "POST" y de que se ingrese la URL correcta, que en nuestro caso debería ser http: // localhost: 52645 / TutorialService.svc / Tutorial
- Asegúrese de que Content-Type esté marcado como application / json. Recuerde que nuestro método de solicitud POST en nuestro servicio web solo acepta datos de estilo json, por lo que debemos asegurarnos de que esto se especifique cuando enviamos una solicitud a nuestra aplicación.
- Finalmente, necesitamos ingresar nuestros datos. Recuerde que nuestro método para POST acepta un parámetro llamado 'str'. Entonces aquí estamos especificando que queremos agregar un valor llamado "Árboles" a nuestra colección de nombres de Tutorial y asegurarnos de que esté etiquetado con el nombre de la variable str.
Finalmente, simplemente haga clic en el botón Ejecutar en Fiddler. Esto enviará una solicitud al servicio web para PUBLICAR los "Árboles" de datos en nuestro servicio web.
Ahora, cuando navegamos hasta la URL del Tutorial para mostrar todas las cadenas de nuestra lista de Tutorial, verá que el valor de "Árboles" también está presente. Esto muestra que la solicitud POST al servicio web se ejecutó correctamente y que se agregó correctamente a nuestra lista de tutoriales.
- A continuación, consumamos nuestro servicio web ejecutando el siguiente escenario. Para esto también necesitamos usar la herramienta Fiddler
ELIMINAR Tutorial / Tutorialid: cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para eliminar un nombre de Tutorial basado en el Tutorialid. A continuación, el servicio web eliminará de la colección el nombre del tutorial enviado.
Ejecute la herramienta Filddler y realice los siguientes pasos
- Vaya a la sección del compositor. Esto se utiliza para crear solicitudes que se pueden enviar a cualquier sitio web.
solicitud.
- Asegúrese de que el tipo de solicitud sea "DELETE" y de que se ingrese la URL correcta, que en nuestro caso debería ser http: // localhost: 52645 / TutorialService.svc / Tutorial . Asegúrese de que la identificación que se utiliza para eliminar una cadena en la lista enviada a través de la URL sea un parámetro. En nuestro ejemplo de REST, estamos enviando 1 por lo que esto eliminará el 2º elemento de nuestra colección que es "Queues".
Finalmente, simplemente haga clic en el botón Ejecutar en Fiddler. Esto enviará una solicitud al servicio web para BORRAR los datos "Colas" de nuestro servicio web.
Ahora, cuando navegamos hasta la URL del tutorial para mostrar todas las cadenas de nuestra lista de tutoriales, notará que el valor de "Colas" ya no está presente.
Esto muestra que la solicitud DELETE al servicio web se ejecutó correctamente. El elemento en el índice n. ° 1 en nuestra lista de cadenas de tutoriales se eliminó con éxito.
Resumen
- REST significa Transferencia de Estado REpresentacional. REST se utiliza para crear servicios web que son livianos, fáciles de mantener y escalables por naturaleza.
- Cada vez más aplicaciones se están trasladando a la arquitectura Restful. Esto se debe a que ahora hay muchas personas que utilizan dispositivos móviles y una variedad más amplia de aplicaciones que se trasladan a la nube.
- Los aspectos principales de REST son los recursos que residen en el servidor y los verbos GET, POST, PUT y DELETE, que pueden usarse para trabajar con estos recursos.
- Visual Studio y .Net se pueden utilizar para crear servicios web Restful.
- Al probar los servicios web para POST y PUT, debe usar otra herramienta llamada fiddler que se puede usar para enviar la solicitud POST y PUT al servidor.