Crear un servicio Web ASP.NET Web API REST con Microsoft Visual Studio, añadir varios métodos (listar y eliminar), publicarlo en un servidor IIS local y después llamarlo desde PowerShell

Crear un proyecto «Aplicación web ASP.NET (.NET Framework)»

Crear una aplicación web ASP.NET «Vacío» seleccionando la opción «API web»

El proyecto se ha creado correctamente y comprobamos que hay tres carpetas (App_Start folder, Controller y Models)

  • App_Start folder: esta carpeta contiene los detalles de configuración de la aplicación, como enrutamiento, autenticación, filtrado de URL, etc.
  • Controller: esta carpeta contiene el controlador y sus métodos. El controlador es responsable de procesar la solicitud del usuario y devolver la salida como una vista.
  • Models: esta carpeta contiene las entidades o propiedades utilizadas para almacenar los valores de entrada.

Crear clase de modelo (pulsar botón de la derecha encima de la carpeta «Models» -> «Agregar» -> «Nuevo elemento»)

Crear una clase con el nombre «Modelo» con la propiedad «Name» (apartado «Visual C#» -> «Código» -> «Clase»)

[crayon-6a6188ae6948e357025743/]

 

Crear controlador de API web (pulsar botón de la derecha encima de la carpeta «Controllers» -> «Agregar» -> «Controlador»)

Crear controlador con el nombre «Controlador» el método eliminar y mostrar (apartado «Común» -> «Web API» -> «Controlador de Web API 2 – en blanco»)

Agregar nuevo elemento

Código del controlador

[crayon-6a6188ae69493105495180/]

Arrancar «Microsoft Visual Studio» como administrador (es necesario para crear un directorio virtual)

Abrir «Propiedades» para configurar en apartado web la opción «IIS local», después pulsar en «Crear directorio virtual»

Compilar y ver la solución

Llamar a la aplicación desde PowerShell (http://localhost/WebApplication9/api/Control/1)

Ver la ruta para realizar las peticiones al controlador

Petición desde PowerShell (Invoke-RestMethod)

[crayon-6a6188ae69495338547299/]

Petición desde PowerShell (Invoke-WebRequest)

[crayon-6a6188ae69497804342869/]