Scarica il pdf
1) Cos'è l'API Web?
WebAPI è un framework che ti aiuta a creare / sviluppare servizi HTTP.
2) Perché è necessaria l'API Web? È possibile utilizzare i servizi RESTful utilizzando WCF?
Sì, possiamo ancora sviluppare servizi RESTful con WCF. Tuttavia, ci sono due ragioni principali che richiedono agli utenti di utilizzare l'API Web invece dei servizi RESTful.
- L'API Web aumenta l'approccio TDD (Test Data Driven) nello sviluppo di servizi RESTful.
- Se vogliamo sviluppare servizi RESTful in WCF, avrai sicuramente bisogno di molte impostazioni di configurazione, modelli URI, contratti ed endpoint per sviluppare servizi RESTful utilizzando l'API web.
3) Perché selezionare l'API Web?
- Viene utilizzato per creare servizi HTTP semplici e non basati su SOAP
- È anche un metodo semplice per la creazione con l'API Web. Con WCF REST Services
- È basato su HTTP e facile da definire, esporre e utilizzare in modo REST.
- È un'architettura leggera e ideale per dispositivi con larghezza di banda limitata come gli smartphone.
4) È giusto che l'API Web ASP.NET abbia sostituito WCF?
Non è affatto vero che l'API Web ASP.NET abbia sostituito WCF. In effetti, è un altro modo per creare servizi non basati su SOAP, cioè semplici stringhe XML o JSON.
5) Quali sono i vantaggi dell'API Web?
I vantaggi dell'API Web sono:
- OData
- Filtri
- Negoziazione dei contenuti
- Self-hosting
- Routing
- Attacchi modello
6) Quali sono i principali tipi di resi supportati nell'API Web?
Un'azione del controller dell'API Web può restituire i seguenti valori:
- Void - Restituirà contenuto vuoto
- HttpResponseMessage: convertirà la risposta in un messaggio HTTP.
- IHttpActionResult: chiama internamente ExecuteAsync per creare un HttpResponseMessage
- Altri tipi: è possibile scrivere il valore restituito serializzato nel corpo della risposta
7) Quale protocollo supporta l'API Web?
L'app Web supporta il protocollo HTTP.
8) Quale framework .NET supporta l'API Web?
NET 4.0 e le versioni successive supportano l'API web.
9) L'API Web utilizza quale delle seguenti librerie open source per la serializzazione JSON?
L'API Web usa la libreria Json.NET per la serializzazione JSON.
10) Per impostazione predefinita, l'API Web invia la risposta HTTP con quale dei seguenti codici di stato per tutte le eccezioni non rilevate?
500 - Errore interno del server
11) Qual è il più grande svantaggio di "Altri tipi di restituzione" nell'API Web?
Il più grande svantaggio di questo approccio è che non è possibile restituire direttamente un codice di errore come l'errore 404.
12) Come si costruisce HtmlResponseMessage?
Di seguito è il modo per costruire per farlo,
public class TestController : ApiController{public HttpResponseMessage Get(){HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value");response.Content = new StringContent("Testing", Encoding.Unicode);response.Headers.CacheControl = new CacheControlHeaderValue(){MaxAge = TimeSpan.FromMinutes(20)};return response;}}
13) Che cos'è il routing API Web?
Il routing è il pattern matching come in MVC.
Tutte le rotte sono registrate nelle tabelle delle rotte.
Per esempio:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Cos'è SOAP?
SOAP è un formato di messaggi XML utilizzato nelle interazioni con i servizi Web. Permette di inviare messaggi su HTTP o JMS, ma possono essere utilizzati altri protocolli di trasporto. È anche un protocollo di messaggistica basato su XML per lo scambio di informazioni tra computer.
15) Qual è il vantaggio di utilizzare REST nell'API Web?
REST viene utilizzato per effettuare meno trasferimenti di dati tra client e server, il che lo rende ideale per l'utilizzo nelle app mobili. L'API Web supporta anche il protocollo HTTP. Pertanto, reintroduce il modo tradizionale dei verbi HTTP per la comunicazione.
16) Come possiamo utilizzare l'API Web con ASP.NET Web Form?
L'API Web può essere utilizzata con ASP.NET Web Form
Può essere eseguito in tre semplici passaggi:
- Crea un controller API Web,
- Aggiungi una tabella di routing al metodo Application_Start di Global.sax
- Quindi è necessario effettuare una chiamata jQuery AJAX al metodo API Web e ottenere i dati.
17) Come limitare l'accesso all'API Web a un verbo HTTP specifico?
La programmazione degli attributi gioca un ruolo importante. È facile limitare l'accesso a un metodo API Web ASP.NET da chiamare utilizzando un particolare metodo HTTP.
18) Puoi usare l'API Web con ASP.NET Web Form?
Sì, è possibile utilizzare l'API Web con il modulo Web ASP.Net. Poiché è fornito in bundle con il framework ASP.NET MVC. Tuttavia, può essere utilizzato con ASP.NET Web Form.
19) In che modo è possibile assegnare un nome alias per l'azione API Web ASP.NET?
Possiamo fornire un nome alias per l'azione dell'API Web come nel caso di ASP.NET MVC utilizzando l'attributo "ActionName" come segue:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Qual è il significato di TestApi?
TestApi è una libreria di utilità di API. Utilizzando questa libreria tester, lo sviluppatore può creare strumenti di test e test automatizzati per un'applicazione .NET utilizzando la struttura dei dati e gli algoritmi.
21) Spiegare i filtri di eccezione?
Verrà eseguito quando le eccezioni non vengono gestite e lanciate da un metodo del controller. Il motivo dell'eccezione può essere qualsiasi cosa. I filtri di eccezione implementeranno l'interfaccia "IExceptionFilter".
22) Come possiamo registrare il filtro di eccezione dall'azione?
Possiamo registrare il filtro delle eccezioni dall'azione utilizzando il codice seguente:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Come puoi restituire la visualizzazione dal metodo API Web ASP.NET?
No, non è possibile restituire una visualizzazione dal metodo API Web ASP.NET. L'API Web crea servizi HTTP che rendono i dati grezzi. Tuttavia, è anche possibile nell'applicazione ASP.NET MVC.
24) Come registrare il filtro delle eccezioni a livello globale?
È possibile registrare il filtro delle eccezioni a livello globale utilizzando il seguente codice:
GlobalConfiguration.Configuration.Filters.Add (new
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Spiega cos'è REST e RESTFUL?
REST rappresenta REpresentational State Transfer; è un aspetto completamente nuovo della scrittura di un'app web.
RESTFUL: Il termine scritto applicando concetti architettonici REST è chiamato servizi RESTful. Si concentra sulle risorse di sistema e su come lo stato della risorsa deve essere trasportato tramite il protocollo HTTP.
26) Dammi un esempio di routing API Web?
Config.Routes.MapHttpRoute(name: "MyRoute,"//route namerouteTemplate: "api/{controller}/{action}/{id}",//as you can see "API" is at the beginning.defaults: new { id = RouteParameter.Optional });
27) Come puoi gestire gli errori nell'API Web?
Diverse classi sono disponibili nell'API Web per gestire gli errori. Sono HttpError, Filtri eccezioni, HttpResponseException e Filtri eccezioni di registrazione.
28) Quali nuove funzionalità vengono fornite con ASP.NET Web API 2.0?
Le ultime funzionalità di ASP.NET Web API framework v2.0 sono le seguenti:
- Instradamento degli attributi
- Condivisione di risorse tra le origini
- Autenticazione esterna
- Aprire l'interfaccia Web NET
- HttpActionResult
- API Web OData
29) Come puoi limitare i metodi di accesso a specifici verbi HTTP nell'API Web?
Con l'aiuto degli attributi (come i verbi HTTP), è possibile implementare restrizioni di accesso nell'API Web.
È possibile definire i verbi HTTP come attributo per limitare l'accesso. Esempio:
[HttpPost]public void Method1(Class obj){//logic
30) Come puoi passare più tipi complessi nell'API Web?
Due metodi per passare i tipi complessi nell'API Web:
Utilizzando ArrayList e array Newtonsoft
31) Scrivere un codice per passare ArrayList nell'API Web?
ArrayList paramList = new ArrayList();Category c = new Category { CategoryId = 1, CategoryName =“MobilePhones”};Product p = new Product { Productcode = 1, Name = “MotoG”, Price = 15500, CategoryID = 1 };paramList.Add(c);paramList.Add(p);
32) Assegnare un nome agli strumenti o all'API per lo sviluppo o il test delle API web?
Gli strumenti di test per i servizi Web per le API REST includono:
- API Jersey
- CFX
- Asse
- Restlet
33) Cos'è REST?
REST è uno stile architettonico. Ha definito le linee guida per la creazione di servizi scalabili. REST utilizzato con il protocollo HTTP utilizzando i suoi verbi GET, PUT, POST e DELETE.
34) Come eseguire un test unitario dell'API Web?
Possiamo eseguire uno unit test utilizzando strumenti API Web come Fiddler.
Ecco alcune impostazioni da fare se stai usando
Fiddler -Scheda Composizione -> Inserisci intestazioni richiesta -> Inserisci il corpo della richiesta ed esegui
35) Come possiamo limitare l'accesso a metodi con verbi HTTP specifici nell'API Web?
La programmazione degli attributi è ampiamente utilizzata per questa funzionalità. L'API Web consente inoltre di limitare l'accesso ai metodi di chiamata con l'aiuto di verbi HTTP specifici. È anche possibile definire i verbi HTTP come attributo su metodo.
36) Qual è l'utilizzo di DelegatingHandler?
DelegatingHandler viene utilizzato nell'API Web per rappresentare i gestori di messaggi prima del routing.
37) Come possiamo registrare il filtro di eccezione dall'azione?
Possiamo registrare il filtro delle eccezioni dall'azione utilizzando il codice seguente
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Dimmi lo snippet di codice per mostrare come possiamo restituire errori 404 da HttpError?
Codice per la restituzione dell'errore 404 da HttpError
messaggio di stringa = string.Format ("TestCustomer id = {0} non trovato", customerid);
return Request.CreateErrorResponse (HttpStatusCode.NotFound, messaggio);
39) Spiegare lo snippet di codice per registrare i filtri di eccezione dal controller?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Quale protocollo supporta l'API Web?
App Web supporta il protocollo HTTP
41) Quale dei seguenti framework .NET supporta l'API Web?
L'API Web è supportata dalla versione NET 4.0
42) Quale libreria utilizza l'API Web per la serializzazione JSON?
L'API Web usa la libreria Json.NET per la serializzazione JSON.
43) Per impostazione predefinita, l'API Web invia la risposta HTTP con quale dei seguenti codici di stato per tutte le eccezioni non rilevate?
500 - Errore interno del server
44) Spiegare il metodo per gestire l'errore utilizzando HttpError nell'API Web?
Nell'API WEB HttpError utilizzato per generare le informazioni sull'errore nel corpo della risposta. Il metodo "CreateErrorResponse" può essere utilizzato anche insieme a questo, che è un metodo di estensione definito in "HttpRequestMessageExtension".
45) Come possiamo registrare il filtro delle eccezioni a livello globale?
Possiamo registrare il filtro delle eccezioni a livello globale utilizzando il seguente codice:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Come gestire gli errori nell'API Web?
Diverse classi sono disponibili nell'API Web per gestire gli errori. Sono HttpError, HttpResponseException, Filtri eccezioni, Filtri di eccezione di registrazione.
47) Qual è il vantaggio di WebAPI su WCF?
I servizi WCF utilizzano il protocollo SOAP mentre HTTP non utilizza mai il protocollo SOAP. Ecco perché i servizi WebAPI sono leggeri poiché SOAP non viene utilizzato. Riduce anche i dati trasferiti per riprendere il servizio. Inoltre, non necessita mai di troppe configurazioni. Pertanto, il client può interagire con il servizio utilizzando i verbi HTTP.
48) Differenze di stato tra MVC e WebAPI
Il framework MVC viene utilizzato per lo sviluppo di applicazioni con interfaccia utente. Per questo, le viste possono essere utilizzate per costruire un'interfaccia utente.
WebAPI viene utilizzato per lo sviluppo di servizi HTTP. Altre app possono anche essere chiamate metodi WebAPI per recuperare quei dati.
49) Chi può utilizzare WebAPI?
WebAPI può essere utilizzato da qualsiasi client che supporti i verbi HTTP come GET, PUT, DELETE, POST. Poiché i servizi WebAPI non richiedono alcuna configurazione, sono molto facili da utilizzare da qualsiasi client. Infract, anche i dispositivi portatili come i dispositivi mobili possono facilmente consumare WebAPI che è sicuramente il più grande vantaggio di questa tecnologia.
50) Come possiamo assicurarci che l'API Web restituisca solo dati JSON?
Per fare in modo che l'API Web serializzi l'oggetto restituito nel formato JSON e restituisca solo i dati JSON. Per questo è necessario aggiungere il seguente codice nella classe WebApiConfig.cs in qualsiasi progetto API Web MVC:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))