SlideShare una empresa de Scribd logo
Introducción al Web API
Danae Aguilar Guzmán
MCT, MS, MCTS, MCP
danaeaguilar@gmail.com
Web API
Web API
 Es un framework para construir APIs web
basados en .NET
 Nos permite exponer servicios y datos a
travez de HTTP para consumirlos desde
cualquier cliente
 Nos permite crear aplicaciones RESTful para
llegar a un variado grupo de clientes
Web API
 Requiere .NET Framework 4 para arriba
 Los verbos se mapean con los métodos
 El Web API nos permite alojar los servicios
fuera de IIS. (Self Hosting)
Web API
Self Hosting en una aplicación de consola.
1. Crear una aplicacion de Consola (iniciar
Visual Studio como Administrador)
2. Agregar las referencias:
1. Agregar el Assembly de System.Web
2. Desde Nuget, agregar Web API.
3. Desde Nuget, agregar Web API Self Host:
Web API
3. Definir el URI en el que escuchará el servicio.
4. Configurar el server:
static readonly Uri uri = new Uri("http://localhost:50231/");
HttpSelfHostConfiguration config =
new HttpSelfHostConfiguration(uri);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Web API
5. Crear una instancia del server y escuchar
peticiones.
var server = new HttpSelfHostServer(config);
// Escuchar peticiones
server.OpenAsync().Wait();
Console.WriteLine("Escuchando en " + uri +
" Presione Enter para salir...");
Console.ReadLine();
server.CloseAsync().Wait();
Web API
6. Crear una clase Controller que herede de
ApiController y agregar los métodos
equivalentes a HTTP (Get, Post, Etc.).
7. Ejecutar e invocar al servicio:
http://localhost:50231/api/Saludos
public class SaludosController : ApiController
{
public string Get()
{
return "Hola";
}
}
Web API
Crear un proyecto Web MVC Web API
1. Crer un Proyecto ASP.NET MVC y seleccionar
Web API
Web API
Crear un proyecto Web MVC Web API
2. Agregar Controllers seleccionando alguna
opcion que cree el controller para el API:
Web API
 En el global.asax tendremos:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(
GlobalConfiguration.Configuration);
Web API
 En WebApiConfig esta la definición de
enrutado del servicio:
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional}
);
Web API
 Los contoladores heredan de ApiController y
los métodos representan los verbos HTTP:
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return cadenas;
}
Web API
 Para que el formato de datos JSON este en
Camel Case. Argegamos lo siguiente al
método Register del WebApiConfig:
var jsonFormatter = config.Formatters
.OfType<JsonMediaTypeFormatter>()
.FirstOrDefault();
jsonFormatter.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
Web API
 Para retornar código de estado y URL de un
nuevo recurso:
public HttpResponseMessage Post([FromBody]string value)
{
cadenas.Add(value);
var response =
Request.CreateResponse<string>
(HttpStatusCode.Created, value);
string uri = Url.Link("DefaultApi",
new { id = cadenas.Count });
response.Headers.Location = new Uri(uri);
return response;
}
Web API
 Retornando errores:
throw new HttpResponseException
(HttpStatusCode.NotFound);

Más contenido relacionado

PDF
ASP.NET MVC - Introducción a ASP.NET MVC
PDF
ASP.NET MVC - AJAX
PDF
ASP.NET MVC - layouts y vistas parciales
PDF
ASP.NET MVC - validacion de datos
PDF
ASP.NET MVC - areas, manejo de estado
PDF
WPF 10. mejorando la funcionalidad y usabilidad de las aplicaciones
PDF
Mi app-asp-net-mvc2
PDF
Java servlets
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - AJAX
ASP.NET MVC - layouts y vistas parciales
ASP.NET MVC - validacion de datos
ASP.NET MVC - areas, manejo de estado
WPF 10. mejorando la funcionalidad y usabilidad de las aplicaciones
Mi app-asp-net-mvc2
Java servlets

La actualidad más candente (20)

PDF
Aplicación abc. asp net mvc 3
PPTX
PDF
Liferay versión 6.1 Trabajando con LDAP, introducción
PDF
Liferay 6.1 Service Builder
PDF
Trabajando con imagenes en liferay 6.1
PDF
Webinar: Base de Datos en tiempo real con MeteorJS
PDF
Workshop 7: Single Page Applications
PPTX
Curso AngularJS - 4. filtros y servicios
PPTX
Curso AngularJS - 3. módulos y controladores
PPTX
Curso AngularJS - 7. temas avanzados
PPTX
Curso AngularJS - 5. rutas
PDF
Javascript y AJAX en Wordpress
DOCX
la mejor forma de Conectar c# con mysql con archivos de configuracion
PPTX
SQL en Visual Studio
PDF
Java Web Lección 02 - JSP
PPTX
Objetos Implicitos
PPTX
Dreamcode: Aplicaciones web noBackend
PPTX
Presentacion node
PDF
Servicio web soap en java con net beans
Aplicación abc. asp net mvc 3
Liferay versión 6.1 Trabajando con LDAP, introducción
Liferay 6.1 Service Builder
Trabajando con imagenes en liferay 6.1
Webinar: Base de Datos en tiempo real con MeteorJS
Workshop 7: Single Page Applications
Curso AngularJS - 4. filtros y servicios
Curso AngularJS - 3. módulos y controladores
Curso AngularJS - 7. temas avanzados
Curso AngularJS - 5. rutas
Javascript y AJAX en Wordpress
la mejor forma de Conectar c# con mysql con archivos de configuracion
SQL en Visual Studio
Java Web Lección 02 - JSP
Objetos Implicitos
Dreamcode: Aplicaciones web noBackend
Presentacion node
Servicio web soap en java con net beans
Publicidad

Destacado (6)

PPT
patrones de diseño web.
PPTX
Microsoft Cognitive services
PDF
Azure Active Directory - Identidad en aplicaciones web
PDF
Construye un backend para tus app móviles con con ASP.NET Web Api
PDF
Cloudcamp - Azure App Service Web Apps
PDF
15分でわかるGit入門
patrones de diseño web.
Microsoft Cognitive services
Azure Active Directory - Identidad en aplicaciones web
Construye un backend para tus app móviles con con ASP.NET Web Api
Cloudcamp - Azure App Service Web Apps
15分でわかるGit入門
Publicidad

Similar a ASP.NET MVC - introduccion al web api (20)

PPTX
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
PDF
UDA-Guia desarrollo web services
PDF
Servicios web
PDF
Infraestructura como Código con Azure Resource Manager
PDF
Servicios web
PDF
Integración Continua en Microsoft Azure
PDF
Consumo de web service con volley (api rest)
PPTX
APIREST LARAVEL Y PHP.pptx
PDF
Servicios web
PDF
Servicios web
PPTX
SERVIDOR WEB (SERVER 2008 R2)
PPT
Microsoft Asp. Net [Asp.Net - Parte 2]
PPTX
Framework .NET 3.5 13 Programación orientada a la red
PPTX
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
PPTX
Presentacion sobre asp
PDF
Aprendiendo AWS Lambda con API Gateway y DynamoDB
PPTX
Mejores prácticas de CI / CD para construir aplicaciones modernas
PPTX
Introducción a vnext
PDF
Trabajando con MySQL y PostgreSQL dentro de azure
PDF
Servicios web java, php, perl, google
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
UDA-Guia desarrollo web services
Servicios web
Infraestructura como Código con Azure Resource Manager
Servicios web
Integración Continua en Microsoft Azure
Consumo de web service con volley (api rest)
APIREST LARAVEL Y PHP.pptx
Servicios web
Servicios web
SERVIDOR WEB (SERVER 2008 R2)
Microsoft Asp. Net [Asp.Net - Parte 2]
Framework .NET 3.5 13 Programación orientada a la red
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
Presentacion sobre asp
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Mejores prácticas de CI / CD para construir aplicaciones modernas
Introducción a vnext
Trabajando con MySQL y PostgreSQL dentro de azure
Servicios web java, php, perl, google

Más de Danae Aguilar Guzmán (20)

PDF
Microsoft HoloLens
PDF
WPF 09. procesos asíncronos y programación paralela
PDF
WPF 08 - manejo y vinculación de datos
PDF
WPF 07 - gráficos, animación y multimedia
PDF
WPF 06 - personalizando los controles de interfaz de usuario
PDF
WPF 05 - triggers y eventos
PDF
WPF 04 - reutilizando recursos y estilos en una aplicación WPF
PDF
WPF 03 - controles WPF
PDF
WPF 02 - construyendo una interfaz de usuario
PDF
WPF 01 - introducción
PDF
ASP.NET MVC - bundling y minification
PDF
ASP.NET MVC - implementando globalizacion and localizacion
PDF
Crecimiento profesional como desarrollador de software
PDF
10. consumiendo datos
PDF
09. Creando interfaces de usuario animadas y adaptables
PDF
08. Propiedades de estilo HTML box
PDF
07. Usando CSS3
PDF
06. Creando un proceso web worker
PDF
05. Creando e implementando objetos y métodos
PDF
04. Implementando APIs HTML5
Microsoft HoloLens
WPF 09. procesos asíncronos y programación paralela
WPF 08 - manejo y vinculación de datos
WPF 07 - gráficos, animación y multimedia
WPF 06 - personalizando los controles de interfaz de usuario
WPF 05 - triggers y eventos
WPF 04 - reutilizando recursos y estilos en una aplicación WPF
WPF 03 - controles WPF
WPF 02 - construyendo una interfaz de usuario
WPF 01 - introducción
ASP.NET MVC - bundling y minification
ASP.NET MVC - implementando globalizacion and localizacion
Crecimiento profesional como desarrollador de software
10. consumiendo datos
09. Creando interfaces de usuario animadas y adaptables
08. Propiedades de estilo HTML box
07. Usando CSS3
06. Creando un proceso web worker
05. Creando e implementando objetos y métodos
04. Implementando APIs HTML5

Último (11)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
sistemas de informacion.................
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Derechos_de_Autor_y_Creative_Commons.pptx
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Fundamentos de Python - Curso de Python dia 1
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
AutoCAD Herramientas para el futuro, Juan Fandiño
Implementación equipo monitor12.08.25.pptx
sistemas de informacion.................
Conceptos basicos de Base de Datos y sus propiedades
Su punto de partida en la IA: Microsoft 365 Copilot Chat

ASP.NET MVC - introduccion al web api

  • 1. Introducción al Web API Danae Aguilar Guzmán MCT, MS, MCTS, MCP danaeaguilar@gmail.com
  • 2. Web API Web API  Es un framework para construir APIs web basados en .NET  Nos permite exponer servicios y datos a travez de HTTP para consumirlos desde cualquier cliente  Nos permite crear aplicaciones RESTful para llegar a un variado grupo de clientes
  • 3. Web API  Requiere .NET Framework 4 para arriba  Los verbos se mapean con los métodos  El Web API nos permite alojar los servicios fuera de IIS. (Self Hosting)
  • 4. Web API Self Hosting en una aplicación de consola. 1. Crear una aplicacion de Consola (iniciar Visual Studio como Administrador) 2. Agregar las referencias: 1. Agregar el Assembly de System.Web 2. Desde Nuget, agregar Web API. 3. Desde Nuget, agregar Web API Self Host:
  • 5. Web API 3. Definir el URI en el que escuchará el servicio. 4. Configurar el server: static readonly Uri uri = new Uri("http://localhost:50231/"); HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(uri); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );
  • 6. Web API 5. Crear una instancia del server y escuchar peticiones. var server = new HttpSelfHostServer(config); // Escuchar peticiones server.OpenAsync().Wait(); Console.WriteLine("Escuchando en " + uri + " Presione Enter para salir..."); Console.ReadLine(); server.CloseAsync().Wait();
  • 7. Web API 6. Crear una clase Controller que herede de ApiController y agregar los métodos equivalentes a HTTP (Get, Post, Etc.). 7. Ejecutar e invocar al servicio: http://localhost:50231/api/Saludos public class SaludosController : ApiController { public string Get() { return "Hola"; } }
  • 8. Web API Crear un proyecto Web MVC Web API 1. Crer un Proyecto ASP.NET MVC y seleccionar Web API
  • 9. Web API Crear un proyecto Web MVC Web API 2. Agregar Controllers seleccionando alguna opcion que cree el controller para el API:
  • 10. Web API  En el global.asax tendremos: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register( GlobalConfiguration.Configuration);
  • 11. Web API  En WebApiConfig esta la definición de enrutado del servicio: public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional} );
  • 12. Web API  Los contoladores heredan de ApiController y los métodos representan los verbos HTTP: public class ValuesController : ApiController { // GET api/values public IEnumerable<string> Get() { return cadenas; }
  • 13. Web API  Para que el formato de datos JSON este en Camel Case. Argegamos lo siguiente al método Register del WebApiConfig: var jsonFormatter = config.Formatters .OfType<JsonMediaTypeFormatter>() .FirstOrDefault(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
  • 14. Web API  Para retornar código de estado y URL de un nuevo recurso: public HttpResponseMessage Post([FromBody]string value) { cadenas.Add(value); var response = Request.CreateResponse<string> (HttpStatusCode.Created, value); string uri = Url.Link("DefaultApi", new { id = cadenas.Count }); response.Headers.Location = new Uri(uri); return response; }
  • 15. Web API  Retornando errores: throw new HttpResponseException (HttpStatusCode.NotFound);