Λήψη PDF
1) Τι είναι το Web API;
Το WebAPI είναι ένα πλαίσιο που σας βοηθά να δημιουργήσετε / αναπτύξετε υπηρεσίες HTTP.
2) Γιατί απαιτείται το Web API; Είναι δυνατή η χρήση υπηρεσιών RESTful χρησιμοποιώντας το WCF;
Ναι, μπορούμε ακόμα να αναπτύξουμε υπηρεσίες RESTful με το WCF. Ωστόσο, υπάρχουν δύο κύριοι λόγοι που παροτρύνουν τους χρήστες να χρησιμοποιούν το Web API αντί για υπηρεσίες RESTful.
- Το Web API αυξάνει την προσέγγιση TDD (Test Data Driven) στην ανάπτυξη υπηρεσιών RESTful.
- Αν θέλουμε να αναπτύξουμε υπηρεσίες RESTful στο WCF, σίγουρα χρειάζεστε πολλές ρυθμίσεις διαμόρφωσης, πρότυπα URI, συμβόλαια και τελικά σημεία για την ανάπτυξη υπηρεσιών RESTful χρησιμοποιώντας API Ιστού.
3) Γιατί να επιλέξετε Web API;
- Χρησιμοποιείται για τη δημιουργία απλών υπηρεσιών HTTP που δεν βασίζονται σε SOAP
- Είναι επίσης μια εύκολη μέθοδος δημιουργίας με το Web API. Με τις υπηρεσίες WCF REST
- Βασίζεται σε HTTP και είναι εύκολο να οριστεί, να εκτεθεί και να καταναλωθεί με τρόπο REST-ful.
- Είναι ελαφριά αρχιτεκτονική και ιδανική για συσκευές που έχουν περιορισμένο εύρος ζώνης όπως τα smartphone.
4) Είναι σωστό το ASP.NET Web API να έχει αντικαταστήσει το WCF;
Δεν είναι καθόλου αλήθεια ότι το ASP.NET Web API έχει αντικαταστήσει το WCF. Στην πραγματικότητα, είναι ένας άλλος τρόπος δημιουργίας υπηρεσιών που δεν βασίζονται σε SOAP, δηλαδή, απλής συμβολοσειράς XML ή JSON.
5) Ποια είναι τα πλεονεκτήματα του Web API;
Τα πλεονεκτήματα του Web API είναι:
- OData
- Φίλτρα
- Διαπραγμάτευση περιεχομένου
- Αυτο-φιλοξενία
- Δρομολόγηση
- Μοντέλο δεσμεύσεων
6) Ποιοι είναι οι κύριοι τύποι επιστροφής που υποστηρίζονται στο Web API;
Μια ενέργεια ελεγκτή API Ιστού μπορεί να επιστρέψει τις ακόλουθες τιμές:
- Void - Θα επιστρέψει κενό περιεχόμενο
- HttpResponseMessage - Θα μετατρέψει την απόκριση σε ένα μήνυμα HTTP.
- IHttpActionResult - καλεί εσωτερικά το ExecuteAsync για να δημιουργήσει ένα HttpResponseMessage
- Άλλοι τύποι - Μπορείτε να γράψετε την σειριακή τιμή επιστροφής στο σώμα απόκρισης
7) Το Web API υποστηρίζει ποιο πρωτόκολλο;
Η εφαρμογή Ιστού υποστηρίζει πρωτόκολλο HTTP.
8) Ποιο πλαίσιο .NET υποστηρίζει Web API;
Η έκδοση NET 4.0 και νεότερη έκδοση υποστηρίζει API Ιστού.
9) Το Web API χρησιμοποιεί ποια από τις παρακάτω βιβλιοθήκες ανοιχτού κώδικα για σειριοποίηση JSON;
Το Web API χρησιμοποιεί βιβλιοθήκη Json.NET για σειριοποίηση JSON.
10) Από προεπιλογή, το Web API στέλνει απόκριση HTTP με ποιον από τον ακόλουθο κωδικό κατάστασης για όλες τις εξαιρέσεις που δεν έχουν καταβληθεί;
500 Εσωτερικό σφάλμα διακομιστή
11) Ποιο είναι το μεγαλύτερο μειονέκτημα των "Άλλων τύπων επιστροφής" στο Web API;
Το μεγαλύτερο μειονέκτημα αυτής της προσέγγισης είναι ότι δεν μπορείτε να επιστρέψετε άμεσα έναν κωδικό σφάλματος όπως το σφάλμα 404.
12) Πώς δημιουργείτε το HtmlResponseMessage;
Ακολουθεί ο τρόπος κατασκευής για να γίνει αυτό,
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) Τι είναι το Web API Routing;
Η δρομολόγηση ταιριάζει μοτίβα όπως στο MVC
Όλες οι διαδρομές είναι καταχωρημένες στους πίνακες διαδρομών.
Για παράδειγμα:
Routes.MapHttpRoute(Name: "ExampleWebAPIRoute",routeTemplate: “api/{controller}/{id}defaults: new { id = RouteParameter.Optional}
14) Τι είναι το σαπούνι;
Το SOAP είναι μια μορφή μηνύματος XML που χρησιμοποιείται σε αλληλεπιδράσεις υπηρεσίας Ιστού. Επιτρέπει την αποστολή μηνυμάτων μέσω HTTP ή JMS, αλλά μπορούν να χρησιμοποιηθούν και άλλα πρωτόκολλα μεταφοράς. Είναι επίσης ένα πρωτόκολλο ανταλλαγής μηνυμάτων βασισμένο σε XML για ανταλλαγή πληροφοριών μεταξύ υπολογιστών.
15) Ποιο είναι το όφελος από τη χρήση του REST στο Web API;
Το REST χρησιμοποιείται για την πραγματοποίηση λιγότερων μεταφορών δεδομένων μεταξύ πελάτη και διακομιστή που το καθιστούν ιδανικό για χρήση σε εφαρμογές για κινητά. Το Web API υποστηρίζει επίσης πρωτόκολλο HTTP. Επομένως, επαναφέρει τον παραδοσιακό τρόπο των ρήματος HTTP για επικοινωνία.
16) Πώς μπορούμε να χρησιμοποιήσουμε το Web API με φόρμα Web ASP.NET;
Το Web API μπορεί να χρησιμοποιηθεί με φόρμα Web ASP.NET
Μπορεί να εκτελεστεί σε τρία απλά βήματα:
- Δημιουργήστε ένα Web API Controller,
- Προσθέστε έναν πίνακα δρομολόγησης στη μέθοδο Application_Start του Global.sax
- Στη συνέχεια, πρέπει να κάνετε μια μέθοδο jQuery AJAX Call to Web API και να λάβετε δεδομένα.
17) Πώς μπορείτε να περιορίσετε την πρόσβαση στο Web API σε συγκεκριμένο ρήμα HTTP;
Ο προγραμματισμός χαρακτηριστικών παίζει σημαντικό ρόλο. Είναι εύκολο να περιορίσετε την πρόσβαση σε μια μέθοδο ASP.NET Web API για κλήση χρησιμοποιώντας μια συγκεκριμένη μέθοδο HTTP.
18) Μπορείτε να χρησιμοποιήσετε το Web API με φόρμα Web ASP.NET;
Ναι, μπορείτε να χρησιμοποιήσετε το Web API με φόρμα ιστού ASP.Net. Καθώς συνδυάζεται με το πλαίσιο ASP.NET MVC. Ωστόσο, μπορεί να χρησιμοποιηθεί με φόρμα Web ASP.NET.
19) Πώς μπορεί να εκχωρηθεί ψευδώνυμο για ASP.NET Web API Action;
Μπορούμε να δώσουμε ψευδώνυμο για την ενέργεια του API Ιστού όπως στην περίπτωση του ASP.NET MVC χρησιμοποιώντας το χαρακτηριστικό "ActionName" ως εξής:
[HttpPost][ActionName("SaveStudentInfo")]public void UpdateStudent(Student aStudent){StudentRepository.AddStudent(aStudent);}
20) Ποια είναι η έννοια του TestApi;
Το TestApi είναι μια βοηθητική βιβλιοθήκη API. Χρησιμοποιώντας αυτήν τη βιβλιοθήκη δοκιμαστής προγραμματιστής μπορεί να δημιουργήσει εργαλεία δοκιμών και αυτοματοποιημένες δοκιμές για μια εφαρμογή .NET χρησιμοποιώντας δομή δεδομένων και αλγόριθμους.
21) Εξηγήστε τα φίλτρα εξαίρεσης;
Θα εκτελεστεί όταν οι εξαιρέσεις δεν αντιμετωπιστούν και απορριφθούν από τον ελεγκτή μεθόδου. Ο λόγος για την εξαίρεση μπορεί να είναι οτιδήποτε. Τα φίλτρα εξαίρεσης θα εφαρμόσουν τη διεπαφή "IExceptionFilter".
22) Πώς μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης από την ενέργεια;
Μπορούμε να καταχωρήσουμε το φίλτρο εξαιρέσεων από την ενέργεια χρησιμοποιώντας τον ακόλουθο κώδικα:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Πώς μπορείτε να επιστρέψετε το View από τη μέθοδο ASP.NET Web API;
Όχι, δεν μπορούμε να επιστρέψουμε μια προβολή από τη μέθοδο API ASP.NET Web. Το Web API δημιουργεί υπηρεσίες HTTP που παρέχουν ανεπεξέργαστα δεδομένα. Ωστόσο, είναι επίσης δυνατό στην εφαρμογή ASP.NET MVC.
24) Πώς να καταχωρίσετε το φίλτρο εξαίρεσης παγκοσμίως;
Είναι δυνατή η εγγραφή φίλτρου εξαίρεσης παγκοσμίως χρησιμοποιώντας τον ακόλουθο κώδικα-
GlobalConfiguration.Configuration.Filters.Add (νέο
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Εξηγήστε τι είναι REST και RESTFUL;
Το REST αντιπροσωπεύει μεταφορά εκπροσώπησης κατάστασης. είναι εντελώς μια νέα πτυχή της σύνταξης μιας εφαρμογής ιστού.
RESTFUL: Ο όρος που γράφεται με την εφαρμογή αρχιτεκτονικών εννοιών REST ονομάζεται υπηρεσίες RESTful. Επικεντρώνεται στους πόρους του συστήματος και στον τρόπο μεταφοράς της κατάστασης του πόρου μέσω πρωτοκόλλου HTTP.
26) Δώστε μου ένα παράδειγμα δρομολόγησης API Ιστού;
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) Πώς μπορείτε να χειριστείτε τα σφάλματα στο Web API;
Διάφορες τάξεις είναι διαθέσιμες στο Web API για τον χειρισμό σφαλμάτων. Πρόκειται για HttpError, Exception Filters, HttpResponseException και Registering Exception Filters.
28) Ποιες νέες δυνατότητες έρχονται με το ASP.NET Web API 2.0;
Οι πιο πρόσφατες δυνατότητες του ASP.NET Web API framework v2.0 είναι οι εξής:
- Δρομολόγηση χαρακτηριστικών
- Διαμοιρασμός πόρων μεταξύ προέλευσης
- Εξωτερικός έλεγχος ταυτότητας
- Ανοίξτε το Web Interface NET
- HttpActionResult
- OData API Ιστού
29) Πώς μπορείτε να περιορίσετε τις μεθόδους πρόσβασης σε συγκεκριμένα ρήματα HTTP στο Web API;
Με τη βοήθεια των χαρακτηριστικών (όπως ρήματα HTTP), είναι δυνατή η εφαρμογή περιορισμών πρόσβασης στο Web API.
Είναι δυνατό να οριστεί τα ρήματα HTTP ως χαρακτηριστικό για τον περιορισμό της πρόσβασης. Παράδειγμα:
[HttpPost]public void Method1(Class obj){//logic
30) Πώς μπορείτε να περάσετε πολλούς σύνθετους τύπους στο Web API;
Δύο μέθοδοι για τη μετάδοση των σύνθετων τύπων στο Web API -
Χρήση συστοιχίας ArrayList και Newtonsoft
31) Γράψτε έναν κωδικό για να περάσετε το ArrayList στο Web API;
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) Ονομάστε τα εργαλεία ή το API για την ανάπτυξη ή τη δοκιμή api web;
Τα εργαλεία δοκιμών για υπηρεσίες Ιστού για REST API περιλαμβάνουν:
- API του Τζέρσεϋ
- CFX
- Αξονας
- Επανεκκινήστε
33) Τι είναι το REST;
Το REST είναι αρχιτεκτονικό στιλ. Έχει καθορίσει οδηγίες για τη δημιουργία υπηρεσιών που είναι επεκτάσιμες. Το REST χρησιμοποιείται με πρωτόκολλο HTTP χρησιμοποιώντας τα ρήματα GET, PUT, POST και DELETE.
34) Πώς να δοκιμάσετε τη μονάδα API Web;
Μπορούμε να πραγματοποιήσουμε μια δοκιμή μονάδας χρησιμοποιώντας εργαλεία Web API όπως το Fiddler
Εδώ είναι μερικές ρυθμίσεις που πρέπει να γίνουν εάν χρησιμοποιείτε
Fiddler -Compose Tab -> Enter Request Headers -> Enter the Request Body και εκτελέστε
35) Πώς μπορούμε να περιορίσουμε την πρόσβαση σε μεθόδους με συγκεκριμένα ρήματα HTTP στο Web API;
Ο προγραμματισμός χαρακτηριστικών χρησιμοποιείται ευρέως για αυτήν τη λειτουργικότητα. Το Web API επιτρέπει επίσης τον περιορισμό της πρόσβασης σε μεθόδους κλήσεων με τη βοήθεια συγκεκριμένων ρήματα HTTP. Είναι επίσης δυνατό να οριστεί ρήματα HTTP ως χαρακτηριστικό over method.
36) Ποια είναι η χρήση του DelegatingHandler;
Το DelegatingHandler χρησιμοποιείται στο Web API για να αντιπροσωπεύει τους χειριστές μηνυμάτων πριν από τη δρομολόγηση.
37) Πώς μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης από την ενέργεια;
Μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης από την ενέργεια χρησιμοποιώντας τον ακόλουθο κώδικα
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Πείτε μου το απόσπασμα κώδικα για να δείξετε πώς μπορούμε να επιστρέψουμε 404 σφάλματα από το HttpError;
Κωδικός για την επιστροφή σφάλματος 404 από το HttpError
string message = string.Format ("TestCustomer id = {0} not found", customerid);
επιστροφή Request.CreateErrorResponse (HttpStatusCode.NotFound, μήνυμα);
39) Εξηγήστε το απόσπασμα κώδικα για να καταχωρίσετε φίλτρα εξαίρεσης από τον ελεγκτή;
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Το Web API υποστηρίζει ποιο πρωτόκολλο;
Πρωτόκολλο HTTP για υποστήριξη εφαρμογών ιστού
41) Ποιο από τα ακόλουθα .NET framework υποστηρίζει Web API;
Το Web API υποστηρίζεται από την έκδοση NET 4.0
42) Το Web API χρησιμοποιεί ποια βιβλιοθήκη για σειριοποίηση JSON;
Το Web API χρησιμοποιεί βιβλιοθήκη Json.NET για σειριοποίηση JSON.
43) Από προεπιλογή, το Web API αποστέλλει απόκριση HTTP με ποιον από τους παρακάτω κωδικούς κατάστασης για όλες τις εξαίρετες εξαιρέσεις;
500 Εσωτερικό σφάλμα διακομιστή
44) Εξηγήστε τη μέθοδο χειρισμού σφαλμάτων χρησιμοποιώντας το HttpError στο Web API;
Στο WEB API το HttpError χρησιμοποιείται για να ρίξει τις πληροφορίες σφάλματος στο σώμα απόκρισης. Η μέθοδος "CreateErrorResponse" μπορεί επίσης να χρησιμοποιηθεί μαζί με αυτήν, η οποία είναι μια μέθοδος επέκτασης που ορίζεται στο "HttpRequestMessageExtension."
45) Πώς μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης παγκοσμίως;
Μπορούμε να καταχωρήσουμε το φίλτρο εξαιρέσεων παγκοσμίως χρησιμοποιώντας τον ακόλουθο κώδικα:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Πώς να χειριστείτε τα σφάλματα στο Web API;
Διάφορες τάξεις είναι διαθέσιμες στο Web API για τον χειρισμό σφαλμάτων. Πρόκειται για HttpError, HttpResponseException, Exception Filters, Registering Exception Filters.
47) Ποιο είναι το όφελος του WebAPI έναντι του WCF;
Οι υπηρεσίες WCF χρησιμοποιούν το πρωτόκολλο SOAP ενώ το HTTP δεν χρησιμοποιεί ποτέ το πρωτόκολλο SOAP. Αυτός είναι ο λόγος για τον οποίο οι υπηρεσίες WebAPI είναι ελαφριές αφού το SOAP δεν χρησιμοποιείται. Μειώνει επίσης τα δεδομένα που μεταφέρονται για να συνεχίσει την υπηρεσία. Επιπλέον, δεν χρειάζεται ποτέ πάρα πολύ διαμόρφωση. Επομένως, ο πελάτης μπορεί να αλληλεπιδράσει με την υπηρεσία χρησιμοποιώντας τα ρήματα HTTP.
48) Δηλώστε διαφορές μεταξύ MVC και WebAPI
Το πλαίσιο MVC χρησιμοποιείται για την ανάπτυξη εφαρμογών που έχουν περιβάλλον εργασίας χρήστη. Για αυτό, οι προβολές μπορούν να χρησιμοποιηθούν για τη δημιουργία διεπαφής χρήστη.
Το WebAPI χρησιμοποιείται για την ανάπτυξη υπηρεσιών HTTP. Άλλες εφαρμογές μπορούν επίσης να ονομαστούν μέθοδοι WebAPI για τη λήψη αυτών των δεδομένων.
49) Ποιος μπορεί να καταναλώσει το WebAPI;
Το WebAPI μπορεί να καταναλωθεί από οποιονδήποτε πελάτη που υποστηρίζει ρήματα HTTP όπως GET, PUT, DELETE, POST. Καθώς οι υπηρεσίες WebAPI δεν χρειάζονται καμία διαμόρφωση, είναι πολύ εύκολο να καταναλωθούν από οποιονδήποτε πελάτη. Η Infract, ακόμη και φορητές συσκευές όπως οι φορητές συσκευές μπορούν εύκολα να καταναλώσουν το WebAPI, το οποίο είναι σίγουρα τα μεγαλύτερα πλεονεκτήματα αυτής της τεχνολογίας.
50) Πώς μπορούμε να διασφαλίσουμε ότι το Web API επιστρέφει μόνο δεδομένα JSON;
Για να κάνετε το Web API σειριοποιεί το αντικείμενο επιστροφής σε μορφή JSON και επιστρέφει μόνο δεδομένα JSON. Για αυτό θα πρέπει να προσθέσετε τον ακόλουθο κώδικα στην κλάση WebApiConfig.cs σε οποιοδήποτε Έργο MVC Web API:
//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))