Télécharger le PDF
1) Qu'est-ce que l'API Web?
WebAPI est un framework qui vous aide à créer / développer des services HTTP.
2) Pourquoi l'API Web est-elle requise? Est-il possible d'utiliser les services RESTful à l'aide de WCF?
Oui, nous pouvons toujours développer des services RESTful avec WCF. Cependant, deux raisons principales invitent les utilisateurs à utiliser l'API Web au lieu des services RESTful.
- L'API Web augmente l'approche TDD (Test Data Driven) dans le développement de services RESTful.
- Si nous voulons développer des services RESTful dans WCF, vous avez sûrement besoin de beaucoup de paramètres de configuration, de modèles d'URI, de contrats et de points de terminaison pour développer des services RESTful à l'aide de l'API Web.
3) Pourquoi choisir l'API Web?
- Il est utilisé pour créer des services HTTP simples, non basés sur SOAP
- C'est également une méthode simple de création avec l'API Web. Avec les services WCF REST
- Il est basé sur HTTP et facile à définir, exposer et consommer de manière REST.
- C'est une architecture légère et idéale pour les appareils qui ont une bande passante limitée comme les smartphones.
4) Est-il vrai que l'API Web ASP.NET a remplacé WCF?
Ce n'est pas du tout vrai que l'API Web ASP.NET a remplacé WCF. En fait, c'est une autre façon de créer des services non basés sur SOAP, c'est-à-dire une chaîne XML ou JSON.
5) Quels sont les avantages de l'API Web?
Les avantages de l'API Web sont:
- OData
- Filtres
- Négociation de contenu
- Auto-hébergement
- Routage
- Liaisons de modèles
6) Quels sont les principaux types de retour pris en charge dans l'API Web?
Une action de contrôleur d'API Web peut renvoyer les valeurs suivantes:
- Void - Il renverra du contenu vide
- HttpResponseMessage - Il convertira la réponse en message HTTP.
- IHttpActionResult - appelle ExecuteAsync en interne pour créer un HttpResponseMessage
- Autres types - Vous pouvez écrire la valeur de retour sérialisée dans le corps de la réponse
7) L'API Web prend en charge quel protocole?
L'application Web prend en charge le protocole HTTP.
8) Quel framework .NET prend en charge l'API Web?
NET 4.0 et les versions supérieures prennent en charge l'API Web.
9) L'API Web utilise laquelle des bibliothèques open source suivantes pour la sérialisation JSON?
L'API Web utilise la bibliothèque Json.NET pour la sérialisation JSON.
10) Par défaut, l'API Web envoie une réponse HTTP avec lequel des codes d'état suivants pour toutes les exceptions non interceptées?
500 - Erreur de serveur interne
11) Quel est le plus gros inconvénient des "Autres types de retour" dans l'API Web?
Le plus gros inconvénient de cette approche est que vous ne pouvez pas renvoyer directement un code d'erreur comme l'erreur 404.
12) Comment construisez-vous HtmlResponseMessage?
Voici la façon de construire pour le faire,
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) Qu'est-ce que le routage API Web?
Le routage est une correspondance de modèle comme dans MVC.
Tous les itinéraires sont enregistrés dans les tables de routage.
Par exemple:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Qu'est-ce que SOAP?
SOAP est un format de message XML utilisé dans les interactions de service Web. Il permet d'envoyer des messages via HTTP ou JMS, mais d'autres protocoles de transport peuvent être utilisés. Il s'agit également d'un protocole de messagerie basé sur XML pour l'échange d'informations entre ordinateurs.
15) Quel est l'avantage d'utiliser REST dans l'API Web?
REST est utilisé pour effectuer moins de transferts de données entre le client et le serveur, ce qui en fait un outil idéal pour l'utiliser dans les applications mobiles. L'API Web prend également en charge le protocole HTTP. Par conséquent, il réintroduit la manière traditionnelle des verbes HTTP pour la communication.
16) Comment pouvons-nous utiliser l'API Web avec ASP.NET Web Form?
L'API Web peut être utilisée avec le formulaire Web ASP.NET
Elle peut être réalisée en trois étapes simples:
- Créer un contrôleur API Web,
- Ajouter une table de routage à la méthode Application_Start de Global.sax
- Ensuite, vous devez créer une méthode jQuery AJAX Call to Web API et obtenir des données.
17) Comment pouvez-vous limiter l'accès à l'API Web à un verbe HTTP spécifique?
La programmation d'attributs joue un rôle important. Il est facile de restreindre l'accès à une méthode API Web ASP.NET à appeler à l'aide d'une méthode HTTP particulière.
18) Pouvez-vous utiliser l'API Web avec ASP.NET Web Form?
Oui, il est possible d'utiliser l'API Web avec le formulaire Web ASP.Net. Comme il est fourni avec le framework ASP.NET MVC. Cependant, il peut être utilisé avec le formulaire Web ASP.NET.
19) Comment attribuer un nom d'alias à l'API Web ASP.NET?
Nous pouvons donner le nom d'alias pour l'action de l'API Web comme dans le cas d'ASP.NET MVC en utilisant l'attribut "ActionName" comme suit:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Quelle est la signification de TestApi?
TestApi est une bibliothèque utilitaire d'API. À l'aide de cette bibliothèque, le développeur de testeurs peut créer des outils de test et des tests automatisés pour une application .NET à l'aide d'une structure de données et d'algorithmes.
21) Expliquez les filtres d'exception?
Il sera exécuté lorsque les exceptions ne seront pas gérées et lancées par une méthode de contrôleur. La raison de l'exception peut être n'importe quoi. Les filtres d'exception implémenteront l'interface "IExceptionFilter".
22) Comment pouvons-nous enregistrer le filtre d'exception de l'action?
Nous pouvons enregistrer le filtre d'exception à partir de l'action en utilisant le code suivant:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Comment pouvez-vous renvoyer View à partir de la méthode API Web ASP.NET?
Non, nous ne pouvons pas renvoyer une vue à partir de la méthode API Web ASP.NET. L'API Web crée des services HTTP qui rendent des données brutes. Cependant, c'est également possible dans l'application ASP.NET MVC.
24) Comment enregistrer le filtre d'exception globalement?
Il est possible d'enregistrer le filtre d'exception globalement en utilisant le code suivant:
GlobalConfiguration.Configuration.Filters.Add (nouveau
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Expliquez ce que sont REST et RESTFUL?
REST représente le transfert d'état de représentation; c'est un tout nouvel aspect de l'écriture d'une application Web.
RESTFUL: ce terme écrit en appliquant les concepts d'architecture REST est appelé services RESTful. Il se concentre sur les ressources système et sur la manière dont l'état de la ressource doit être transporté via le protocole HTTP.
26) Donnez-moi un exemple de routage 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) Comment pouvez-vous gérer les erreurs dans l'API Web?
Plusieurs classes sont disponibles dans l'API Web pour gérer les erreurs. Il s'agit de HttpError, de filtres d'exception, de HttpResponseException et de filtres d'exception d'enregistrement.
28) Quelles sont les nouvelles fonctionnalités de l'API Web ASP.NET 2.0?
Les dernières fonctionnalités du framework API Web ASP.NET v2.0 sont les suivantes:
- Routage d'attributs
- Partage de ressources inter-origines
- Authentification externe
- Ouvrez l'interface Web NET
- HttpActionResult
- OData de l'API Web
29) Comment pouvez-vous restreindre les méthodes d'accès à des verbes HTTP spécifiques dans l'API Web?
Avec l'aide d'attributs (comme les verbes HTTP), il est possible d'implémenter des restrictions d'accès dans l'API Web.
Il est possible de définir des verbes HTTP comme un attribut pour restreindre l'accès. Exemple:
[HttpPost]public void Method1(Class obj){//logic
30) Comment pouvez-vous passer plusieurs types complexes dans l'API Web?
Deux méthodes pour passer les types complexes dans l'API Web -
Utilisation de ArrayList et du tableau Newtonsoft
31) Ecrire un code pour passer ArrayList dans l'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) Nommez les outils ou l'API pour développer ou tester une API Web?
Les outils de test des services Web pour les API REST comprennent:
- API Jersey
- CFX
- Axe
- Restlet
33) Qu'est-ce que REST?
REST est un style architectural. Il a défini des lignes directrices pour la création de services évolutifs. REST utilisé avec le protocole HTTP en utilisant ses verbes GET, PUT, POST et DELETE.
34) Comment tester un API Web?
Nous pouvons effectuer un test unitaire à l'aide d'outils d'API Web comme Fiddler.
Voici quelques réglages à effectuer si vous utilisez
Fiddler - Onglet Composer -> Entrer les en-têtes de la demande -> Entrer le corps de la demande et exécuter
35) Comment pouvons-nous restreindre l'accès aux méthodes avec des verbes HTTP spécifiques dans l'API Web?
La programmation d'attributs est largement utilisée pour cette fonctionnalité. L'API Web permet également de restreindre l'accès des méthodes d'appel à l'aide de verbes HTTP spécifiques. Il est également possible de définir les verbes HTTP comme attribut sur méthode.
36) Quelle est l'utilisation de DelegatingHandler?
DelegatingHandler est utilisé dans l'API Web pour représenter les gestionnaires de messages avant le routage.
37) Comment pouvons-nous enregistrer le filtre d'exception de l'action?
Nous pouvons enregistrer le filtre d'exception de l'action en utilisant le code suivant
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Dites-moi l'extrait de code pour montrer comment nous pouvons renvoyer des erreurs 404 à partir de HttpError?
Code pour renvoyer l'erreur 404 de HttpError
string message = string.Format ("TestCustomer id = {0} not found", customerid);
return Request.CreateErrorResponse (HttpStatusCode.NotFound, message);
39) Expliquer l'extrait de code pour enregistrer les filtres d'exception du contrôleur?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) L'API Web prend en charge quel protocole?
Prise en charge du protocole HTTP par application Web
41) Lequel des frameworks .NET suivants prend en charge l'API Web?
L'API Web est prise en charge par la version NET 4.0
42) L'API Web utilise quelle bibliothèque pour la sérialisation JSON?
L'API Web utilise la bibliothèque Json.NET pour la sérialisation JSON.
43) Par défaut, l'API Web envoie une réponse HTTP avec lequel des codes d'état suivants pour toutes les exceptions non interceptées?
500 - Erreur de serveur interne
44) Expliquer la méthode pour gérer l'erreur à l'aide de HttpError dans l'API Web?
Dans l'API WEB, HttpError utilisé pour lancer les informations d'erreur dans le corps de la réponse. La méthode «CreateErrorResponse» peut également être utilisée avec celle-ci, qui est une méthode d'extension définie dans «HttpRequestMessageExtension».
45) Comment pouvons-nous enregistrer un filtre d'exception globalement?
Nous pouvons enregistrer le filtre d'exception globalement en utilisant le code suivant:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Comment gérer les erreurs dans l'API Web?
Plusieurs classes sont disponibles dans l'API Web pour gérer les erreurs. Ce sont HttpError, HttpResponseException, les filtres d'exception, l'enregistrement des filtres d'exception.
47) Quel est l'avantage de WebAPI par rapport à WCF?
Les services WCF utilisent le protocole SOAP tandis que HTTP n'utilise jamais le protocole SOAP. C'est pourquoi les services WebAPI sont légers puisque SOAP n'est pas utilisé. Cela réduit également les données qui sont transférées pour reprendre le service. De plus, il n'a jamais besoin de trop de configuration. Par conséquent, le client peut interagir avec le service à l'aide des verbes HTTP.
48) Différences d'état entre MVC et WebAPI
Le framework MVC est utilisé pour développer des applications dotées d'une interface utilisateur. Pour cela, les vues peuvent être utilisées pour construire une interface utilisateur.
WebAPI est utilisé pour développer des services HTTP. D'autres applications peuvent également être appelées méthodes WebAPI pour récupérer ces données.
49) Qui peut consommer WebAPI?
WebAPI peut être utilisé par n'importe quel client prenant en charge les verbes HTTP tels que GET, PUT, DELETE, POST. Comme les services WebAPI ne nécessitent aucune configuration, ils sont très faciles à utiliser par n'importe quel client. Infract, même les appareils portables comme les appareils mobiles peuvent facilement consommer WebAPI, ce qui est certainement le plus grand avantage de cette technologie.
50) Comment pouvons-nous nous assurer que l'API Web renvoie uniquement des données JSON?
Pour que l'API Web sérialise l'objet renvoyé au format JSON et renvoie uniquement les données JSON. Pour cela, vous devez ajouter le code suivant dans la classe WebApiConfig.cs dans n'importe quel projet d'API Web MVC:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))