Tutorial de servicios web RESTful: ¿Qué es la API REST con ejemplo?

¿Qué son los servicios web Restful?

Servicios web relajantes es un servicio ligero, mantenible y escalable que se basa en la arquitectura REST. El servicio web Restful expone la API de su aplicación de manera segura, uniforme y sin estado al cliente que realiza la llamada. El cliente que realiza la llamada puede realizar operaciones predefinidas utilizando el servicio Restful. El protocolo subyacente para REST es HTTP. REST significa Transferencia de estado representacional.

Elementos clave RESTful

Los servicios web REST realmente han recorrido un largo camino desde sus inicios. En 2002, el consorcio Web publicó 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, incluidos 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 albergue documentos, imágenes o vídeos importantes. Todos estos son un ejemplo de recursos. Si un cliente, digamos un navegador web, necesita alguno de estos recursos, debe 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:

  1. 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 empleado 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.
  2. Solicitar verbos – Estos 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 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 desea obtener los detalles del registro del empleado.
  3. Solicitar encabezados – Son instrucciones adicionales que se envían junto con la solicitud y que pueden definir el tipo de respuesta requerida o los detalles de la autorización.
  4. Cuerpo de solicitud – Los datos se envían con la solicitud. Normalmente, los datos se envían en la solicitud cuando se realiza una solicitud POST a los servicios web REST. En una llamada POST, el cliente 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 requiere agregar al servidor.
  5. 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 el cuerpo de la respuesta.
  6. 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 relajantes

El siguiente diagrama muestra principalmente todos 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 cualquier 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.

  1. PUBLICAR – Esto se usaría para crear un nuevo empleado usando el servicio web RESTful
  2. – Esto se usaría para obtener una lista de todos los empleados que utilizan el servicio web RESTful.
  3. PUT – Esto se usaría para actualizar a todos los empleados que utilizan el servicio web RESTful.
  4. BORRAR – Esto se usaría para eliminar a todos los empleados que utilizan 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.

  1. PUBLICAR – Esto no sería aplicable ya que estamos obteniendo datos del empleado 1 que ya está creado.
  2. – Esto se usaría para obtener los detalles del empleado con el número de empleado como 1 usando el servicio web RESTful
  3. PUT – Esto se usaría para actualizar los detalles del empleado con el número de empleado como 1 usando el servicio web RESTful
  4. BORRAR – Esto se utiliza para eliminar los detalles del empleado con el número de empleado como 1

Métodos relajantes

Por qué descansado

Restful se hizo popular principalmente por las siguientes razones:

1. Lenguas y entornos heterogéneos – Esta es una de las razones fundamentales que es la misma que hemos visto para JABÓN .

  • Permite que las aplicaciones web basadas 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 Windowsy otros podrían estar en Linux.

Pero al final, no importa cuál sea el entorno, el resultado final siempre debería ser el mismo: deberían poder hablar entre sí. Los servicios web Restful ofrecen esta flexibilidad a las aplicaciones creadas en varios lenguajes de programación y plataformas para comunicarse entre sí.

La siguiente imagen ofrece un ejemplo de una aplicación web que debe 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ía que saber cuál es el idioma en el que 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.

Necesita descanso

2. El evento de los Dispositivos – Hoy en día es necesario trabajar en todo Móvil dispositivos, ya sean dispositivos móviles, portátiles o incluso sistemas de coche.

¿Te imaginas la cantidad de esfuerzo que supone intentar codificar aplicaciones en estos dispositivos para que se comuniquen con las aplicaciones web normales? Una vez más, las API Restful pueden simplificar este trabajo porque, como se mencionó en el punto número 1, en realidad no necesitas saber cuál es la capa subyacente del dispositivo.

3. Finalmente es el evento de la Nube – Todo se está trasladando a la nube. Las aplicaciones se están trasladando lentamente a sistemas basados ​​en la nube, como en Azure or Amazon. Azure y Amazon Proporcionan una gran cantidad de API basadas en la arquitectura Restful. Por lo tanto, ahora es necesario desarrollar aplicaciones de manera que sean compatibles con la nube. Por lo tanto, 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 aprovechar al máximo los servicios basados ​​en la nube.

Sosegado Architectura

Una aplicación o arquitectura considerada RESTful o de estilo REST tiene las siguientes características

1. El estado y la funcionalidad se dividen en recursos distribuidos. – Esto significa que se debe poder acceder a todos los recursos mediante 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 colocar un archivo en el servidor, deberían poder emitir la solicitud POST o PUT. Y finalmente, si quisieran eliminar un archivo del servidor, pueden emitir la solicitud DELETE.

2. La arquitectura es cliente/servidor, sin estado, en capas y admite almacenamiento en caché.

  • Cliente-servidor es la arquitectura típica donde 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 usando 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 utilizaría para obtener primero todos los recursos del servidor. Después de lo cual habría que ver si el recurso realmente se eliminó.

Principios y limitaciones de RESTFul

La arquitectura REST se basa en algunas características que se explican a continuación. Cualquier servicio web RESTful debe cumplir con las siguientes características para que se lo pueda llamar RESTful. Estas características también se conocen como principios de diseño que se deben seguir al trabajar con servicios basados ​​en RESTful.

  1. RESTFul Cliente-Servidor

    Principios y limitaciones de RESTFul

Este es el requisito más fundamental de una arquitectura basada en REST. Significa que el servidor tendrá un servicio web RESTful que proporcionará la funcionalidad requerida al cliente. El cliente envía una solicitud al servicio web en el servidor. El servidor rechazará la solicitud o la cumplirá y proporcionará una respuesta adecuada al cliente.

  1. Apátrida

El concepto de apátrida significa que depende del cliente asegurarse de que toda la información requerida se proporcione 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 solicitudes del cliente. Es una secuencia de preguntas y respuestas independiente muy simple. El cliente hace una pregunta, el servidor la responde adecuadamente. El cliente hará otra pregunta. El servidor no recordará el escenario de pregunta y respuesta anterior y deberá responder la nueva pregunta de forma independiente.

  1. cache

Principios y limitaciones de RESTFul

El concepto de caché ayuda 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 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 a través de la red. El caché es un concepto implementado en el cliente para almacenar solicitudes que ya han sido enviadas al servidor. Entonces, si el cliente realiza la misma solicitud, en lugar de ir al servidor, irá al caché y obtendrá la información requerida. Esto ahorra la cantidad de tráfico de red de ida y vuelta desde el cliente al servidor.

  1. Sistema de capas

El concepto de un sistema en capas es que se puede insertar cualquier capa adicional, como una capa de middleware, 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.

  1. 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 utiliza los siguientes verbos clave 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 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 con Visual Studio. En nuestro ejemplo, para los servicios web Restful, vamos a emular el siguiente ejemplo de servicio REST.

Tendremos un servicio web Restful que funcionará con el siguiente conjunto de datos.

El siguiente conjunto de datos representa un ejemplo de API REST de una empresa que expone los tutoriales que tiene en función del Tutorialid.

Tutorialid Nombre del tutorial
0 Matrices
1 colas
2 Stacks

En nuestro ejemplo del tutorial de API REST, implementaremos los siguientes Verbos Restful.

  1. OBTENER Tutorial – Cuando un cliente invoca esta API Restful, se le proporcionará el conjunto completo de tutoriales disponibles en el servicio web.
  2. OBTENER Tutorial/Tutorialid – Cuando un cliente invoca esta API Restful, se le dará el nombre del Tutorial según el Tutorialid enviado por el cliente.
  3. POST Tutorial/Nombre del tutorial – Cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para insertar un nombre de tutorial. Luego, el servicio web agregará el nombre del Tutorial enviado a la colección.
  4. ELIMINAR Tutorial/Tutorialid– Cuando un cliente invoca esta API Restful, el cliente enviará una solicitud para eliminar un nombre de tutorial basado en el ID del tutorial. Luego, 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 nuestros primeros servicios web RESTful, que lleva a cabo la implementación anterior.

Cómo crear su primer servicio web relajante

Paso 1) Crear nuevo proyecto.
El primer paso es crear un vacío. asp.net Aplicación web. Desde Visual Studio 2013, haga clic en la opción de menú Archivo->Nuevo proyecto.

Crear un servicio web tranquilo

Una vez que haga clic en la opción Nuevo proyecto, Visual Studio le mostrará otro cuadro de diálogo para elegir el tipo de proyecto y brindar los detalles necesarios del proyecto. Esto se explica en el siguiente paso de este tutorial de API RESTful.

Paso 2) Ingrese el nombre y la ubicación del proyecto.

  1. Asegúrese de elegir primero los servicios web RESTful C# Plantilla web de aplicación web ASP.NET. El proyecto debe ser de este tipo para poder crear un proyecto de servicios web. Al elegir esta opción, Visual Studio llevará a cabo los pasos necesarios para agregar los archivos necesarios para cualquier aplicación basada en web.
  2. Dale un nombre a tu proyecto que en nuestro caso se ha dado como “Webservice.REST”.
  3. Luego, asegúrese de proporcionar una ubicación donde se almacenarán los archivos del proyecto.

Crear un servicio web tranquilo

Una vez hecho esto, verá el archivo de proyecto creado en su explorador de soluciones en Visual Studio 2013.

Crear un servicio web tranquilo

Paso 3) Cree el archivo del servicio web.
El siguiente paso es crear el archivo del servicio web que contendrá el servicio web RESTful.

  1. Primero haga clic derecho en el archivo del proyecto como se muestra a continuación

Crear un servicio web tranquilo

  1. En este paso,
    1. Haga clic derecho en el archivo del proyecto
    2. Elija la opción "Agregar->nuevo elemento".

Crear un servicio web tranquilo

En el cuadro de diálogo que aparece, debe realizar lo siguiente

  1. Elija la opción de Servicio WCF (habilitado para Ajax): elija un archivo de este tipo, causa el Visual studio para agregar un código básico que ayude a crear un servicio web RESTful. WCF significa Windows Comunicación FoundationWCF es una biblioteca para que las aplicaciones de varias plataformas o de la misma plataforma se comuniquen a través de varios protocolos como TCP, HTTP, HTTPS. Ajax es básicamente asincrónico. JavaGuión y XML. AJAX permite que las páginas web se actualicen de forma asincrónica intercambiando pequeñas cantidades de datos con el servidor detrás de escena.
  2. A continuación, asigne un nombre al servicio, que en nuestro caso es TutorialService.
  3. Finalmente, haga clic en el botón Agregar para agregar el servicio a la solución.

Crear un servicio web tranquilo

Paso 4) Haz una configuración.
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 del 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 está realizando en realidad permite que la aplicación envíe y reciba datos como un servicio web RESTful puro.

  1. Haga clic en el archivo Web.config para abrir el código.

Crear un servicio web tranquilo

  1. Busque la línea

Crear un servicio web tranquilo

  1. Cambie la línea a

Crear un servicio web tranquilo

Paso 5) Agregue nuestro código para su implementación.
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.

  1. El primer bit es agregar código para representar nuestros datos que se utilizarán en nuestro programa. Entonces vamos a tener una lista de variables de cadena con valores de "Matrices", "Colas" y "Pilas". Esto representará el nombre de los tutoriales disponibles a través de nuestro servicio web de alojamiento.

Crear un servicio web tranquilo

namespace Webservice.REST
{
	[ServiceContract(Namespace = "")]
	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed
	public class TutorialService
	{
		private static List<String> lst = new List<String>
		(new String[] {"Arrays","Queues","Stacks"});

Paso 6) Defina el código para nuestro método GET.
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á cada vez que llamemos al servicio desde nuestro navegador.

El siguiente método se utilizará para cumplir el escenario mencionado a continuación.

  • Si un usuario desea una lista de todos los tutoriales disponibles, entonces deberá escribir el siguiente código para lograrlo.

Crear un servicio web tranquilo

[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: -

  1. 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 '/Tutorial' a la URL como http://localhost:52645/TutorialService.svc/Tutorial , se invocará el código anterior. El atributo de 'WebGet' es un parámetro que permite que este método sea un método RESTful para que pueda invocarse mediante el verbo GET.
  2. Esta sección de código se utiliza para revisar nuestra lista de cadenas en la variable 'lst' y devolverlas todas al programa que realiza la llamada.

Paso 7) Devuelve la salida.
El siguiente código garantiza que si se realiza una llamada GET al servicio de tutorial con una identificación del tutorial, devolverá el nombre del tutorial correspondiente según la identificación del tutorial.

Crear un servicio web tranquilo

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]

public String GetTutorialbyID(String Tutorialid)
{
	int pid;
	Int32.TryParse(Tutorialid, out pid);
	return lst[pid];
}

Explicación del código: -

  1. 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 '/Tutorial/{Tutorialid}' a la URL, entonces podremos llamar al servicio web como http://localhost:52645/TutorialService.svc/Tutorial/1 como ejemplo. Luego, el servicio web tendría que devolver el nombre del tutorial que tenía el ID del tutorial n.º 1.
  2. Esta sección de código se utiliza para devolver el "nombre del tutorial" que tiene la identificación del tutorial pasada al método web.
  • De forma predeterminada, lo que hay que recordar es que todo lo que se pasa a la URL en el navegador es una cadena.
  • Pero hay que 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 número 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) Escriba el código para el método POST.
El siguiente paso es escribir el código de nuestro método POST. Este método se invocará siempre que queramos agregar un valor de cadena a nuestra lista de Tutoriales mediante el método POST. Por ejemplo, si desea agregar el nombre del Tutorial de "Prueba de software", deberá utilizar el método POST.

Crear un servicio web tranquilo

Explicación del código: -

  1. La primera línea es el atributo 'WebInvoke' que se adjuntó 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.
  2. La segunda línea de código se utiliza para agregar el valor de cadena pasado mediante la llamada POST a nuestra lista existente de cadenas del Tutorial.

Paso 9) Agregar método para manejar la operación DELETE.
Por último, vamos a agregar 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 a través del método DELETE.

Crear un servicio web tranquilo

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json,
	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: -

  1. La primera línea es el atributo 'WebInvoke' que se adjuntó 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 está configurando en "BORRAR". Esto significa que siempre que emitamos el verbo DELETE, se invocará este método.
  2. La segunda línea de código se utiliza para tomar el Tutorialid enviado a través de la llamada DELETE y posteriormente eliminar esa identificación de nuestra lista. (El Int32 La función en el código se utiliza para convertir el ID del tutorial de una variable de cadena a un número 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 pueda ser invocado 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

Ejecución del servicio web Restful

Paso 2) Seleccione la opción de menú "Establecer como proyecto de inicio". Esto garantizará que este proyecto se ejecute cuando Visual Studio ejecute toda la solución.

Ejecución del servicio web Restful

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, tenemos Google Chrome Apareciendo. Simplemente haga clic en este botón.

Ejecución del servicio web Restful

Salida:-

Cuando se ejecuta el proyecto, puede navegar a la sección TutorialService.svc/Tutorial y obtendrá el siguiente resultado.

Ejecución del servicio web Restful

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 'GetAllTutorial'.

  1. Utilicemos 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 según 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á el siguiente resultado

Prueba del servicio web Restful

Ahora verá el resultado de Colas que en realidad corresponde al número 1 en nuestra lista de Cadenas de tutorial. 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 correctamente 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.

  1. A continuación, consumamos nuestro servicio web ejecutando el siguiente escenario. Para esto, necesita 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. Luego, el servicio web agregará el nombre del Tutorial enviado a la colección.

Ejecute la herramienta Filddler y realice los pasos a continuación;

  1. Vaya a la sección del compositor. Se utiliza para crear solicitudes que se pueden enviar a cualquier aplicación web.
  2. Asegúrese de que el tipo de solicitud sea "POST" y que se acceda a la URL correcta, que en nuestro caso debería ser http://localhost:52645/TutorialService.svc/Tutorial
  3. Asegúrese de que el tipo de contenido esté marcado como aplicación/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.
  4. Finalmente, debemos introducir nuestros datos. Recuerde que nuestro método para POST acepta un parámetro llamado "cadena". Así que aquí especificamos que queremos agregar un valor llamado "Árboles" a nuestra colección de nombres de tutoriales y asegurarnos de que esté etiquetado con el nombre de la variable cadena.

Por último, simplemente haga clic en el botón Ejecutar en Fiddler. Esto enviará una solicitud al servicio web para que publique los datos "Árboles" en nuestro servicio web.

Prueba del servicio web Restful

Ahora, cuando navegamos a la URL del Tutorial para mostrar todas las cadenas en nuestra lista de Tutoriales, verá que el valor de "Árboles" también está presente. Esto muestra que la solicitud POST al servicio web se ejecutó exitosamente y que se agregó exitosamente a nuestra Lista de tutoriales.

Prueba del servicio web Restful

  1. A continuación, consumamos nuestro servicio web ejecutando el siguiente escenario. Para ello, también necesitamos utilizar 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. Luego, el servicio web eliminará de la colección el nombre del Tutorial enviado.

Ejecute la herramienta Filddler y realice los pasos a continuación

  1. Vaya a la sección del compositor. Se utiliza para crear solicitudes que se pueden enviar a cualquier aplicación web.
  2. Asegúrese de que el tipo de solicitud sea "ELIMINAR" y que se acceda a 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 se envíe a través de la URL como parámetro. En nuestro ejemplo REST, enviamos 1, por lo que esto eliminará el 2.nd elemento de nuestra colección que es “Colas”.

Por último, simplemente haga clic en el botón Ejecutar en Fiddler. Esto enviará una solicitud al servicio web para ELIMINAR las “colas” de datos de nuestro servicio web.

Prueba del servicio web Restful

Ahora, cuando navegamos a la URL del Tutorial para mostrar todas las cadenas en nuestra lista de Tutoriales, notará que el valor de "Colas" ya no está presente.

Esto demuestra que la solicitud DELETE al servicio web se ejecutó correctamente. El elemento en el índice número 1 de nuestra lista de cadenas del Tutorial se eliminó correctamente.

Prueba del servicio web Restful

Resum

  • REST significa Transferencia estatal representacional. REST se utiliza para crear servicios web que sean livianos, fáciles de mantener y escalables por naturaleza.
  • Cada vez más aplicaciones se están moviendo hacia la arquitectura Restful. Esto se debe a que ahora hay mucha gente que usa dispositivos móviles y una mayor variedad de aplicaciones se están moviendo hacia la nube.
  • Los aspectos principales de REST son los recursos que residen en el servidor y los verbos GET, POST, PUT y DELETE, que se pueden utilizar para trabajar con estos recursos.
  • Se pueden utilizar Visual Studio y .Net para crear servicios web Restful.
  • Cuándo Pruebas Para realizar servicios web para POST y PUT, es necesario utilizar otra herramienta llamada Fiddler, que puede utilizarse para enviar solicitudes POST y PUT al servidor.