Che cosa è esattamente "Web API" in ASP.Net MVC4?

15

So cos'è un'API Web.
Ho scritto API in più lingue (incluso in MVC3).
Sono anche ben praticato in ASP.Net.
Ho appena scoperto che MVC4 ha "Web API" e senza passare attraverso gli esempi video non riesco a trovare una buona spiegazione di cosa sia esattamente.
Dalla mia passata esperienza, le tecnologie Microsoft (in particolare ASP.Net) hanno la tendenza a prendere un semplice concetto e ad avvolgerlo in un mucchio di inutili sovraccarico che è destinato a rendere tutto più "facile".
Qualcuno può spiegarmi che API Web in MVC4 è esattamente? Perché ne ho bisogno? Perché non posso semplicemente scrivere la mia API?

    
posta James P. Wright 12.08.2012 - 18:22
fonte

5 risposte

16

L'API Web ASP.NET è un framework "non-opinionista" per creare il servizio HTTP indipendentemente da REST o RPC. È la migliore implementazione di Microsoft di RFC 2616 (HTTP Spec).

Certamente puoi creare la tua API ma API Web ASP.NET:

  • Costruito in base al modello Russian Doll che consente per moduli lego-like da aggiungere alla pipeline HTTP
  • Rende HTTP cittadino di prima classe in modo tale che tutte le intestazioni comuni siano strongmente digitate (non solo il valore del nome) e aiuta a analizzarle
  • Consente sia l'hosting ASP.NET (IIS) che l'auto-hosting
  • supporta la negoziazione del contenuto, i tipi di media, ...
  • È asincrono dall'alto verso il basso
  • Utilizza un approccio simile per i client con HttpClient
risposta data 16.09.2012 - 19:53
fonte
6

La nuova API Web di Microsoft è, come suggerisce il nome, tutto sulla scrittura di API accessibili dal Web, con un piegato su REST.

Rick Strahl recentemente ha scritto blogger su di esso e ha una buona analisi su quando utilizzare MVC vs Web API.

Cose come la negoziazione dei contenuti incorporata, diversi formati incorporati e altro ancora.

    
risposta data 12.08.2012 - 21:35
fonte
6

In breve: l'API Web ASP.NET sta rendendo REST un cittadino di prima classe in .NET , che WCF non era in grado di abbracciare. Come forse saprai, API Web ASP.NET è un framework for building web APIs in cima a .NET Framework.

Una delle maggiori frustrazioni che abbiamo avuto come sviluppatori web è stata quella di affrontare le infinite configurazioni con WCF. Voglio dire, WCF è ottimo ma non è stato adottato il REST dal framework API Web WCF . C'era qualcosa chiamato REST Starter Kit ma è finito morto.

Tuttavia, l'API Web ASP.NET è una struttura di nuova generazione che semplifica la creazione di servizi HTTP che raggiungono una vasta gamma di client, come browser e dispositivi mobili. È una piattaforma ideale per la creazione di applicazioni RESTful su .NET Framework. Per ulteriori informazioni e fantastici post sui blog, visita la pagina dei blogger API Web ASP.NET

    
risposta data 12.08.2012 - 19:56
fonte
1

L'API Web ASP.NET è una struttura che semplifica la creazione di servizi HTTP che raggiungono un'ampia gamma di client, inclusi browser e dispositivi mobili.

L'API Web ASP.NET è una piattaforma ideale per la creazione di applicazioni RESTful su .NET Framework.

link

Modifica

In particolare, l'API Web ASP.NET include:

  1. Una pipeline semplificata di ASP.NET con un sovraccarico ridotto se scegli di ospitare il tuo servizio in IIS.
  2. HttpClient che facilita l'aggancio di un client nell'API Web.
risposta data 12.08.2012 - 19:26
fonte
-2

Oggi un'applicazione web non è sufficiente per raggiungere i clienti. Le persone sono molto intelligenti, usano dispositivi iPhone, cellulari, tablet ecc. Nella loro vita quotidiana. Questi dispositivi hanno anche molte app per semplificare la vita. In realtà, stiamo passando dal web al mondo delle app. Pertanto, se ti piace esporre i tuoi dati di servizio ai browser e a tutte queste app di dispositivi moderni in modo semplice e veloce, dovresti disporre di un'API compatibile con i browser e tutti questi dispositivi.

    
risposta data 17.07.2015 - 08:19
fonte

Leggi altre domande sui tag