50 Asp.Net Web API Συνέντευξη Ερωτήσεις και Απαντήσεις (2025)
Asp.Net Web API Συνέντευξη Ερωτήσεις και Απαντήσεις για Freshers
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 χρησιμοποιώντας το web API.
👉 Δωρεάν λήψη PDF: Asp.Net Web API Συνέντευξη Ερωτήσεις & Απαντήσεις >>
3) Γιατί να επιλέξετε το Web API;
- Χρησιμοποιείται για τη δημιουργία απλών υπηρεσιών HTTP που δεν βασίζονται σε SOAP
- Είναι επίσης μια εύκολη μέθοδος δημιουργίας με το Web API. Με Υπηρεσίες WCF REST
- Βασίζεται σε HTTP και είναι εύκολο να οριστεί, να εκτεθεί και να καταναλωθεί με τρόπο REST-full.
- Είναι ελαφριά αρχιτεκτονική και ιδανική για συσκευές που έχουν περιορισμένο εύρος ζώνης όπως τα smartphone.
4) Είναι σωστό το ASP.NET Web API να έχει αντικαταστήσει το WCF;
Δεν είναι καθόλου αλήθεια ότι το ASP.NET Web API έχει αντικαταστήσει το WCF. Στην πραγματικότητα, είναι ένας άλλος τρόπος δημιουργίας υπηρεσιών που δεν βασίζονται σε SOAP, π.χ. απλή συμβολοσειρά XML ή JSON.
5) Ποια είναι τα πλεονεκτήματα του Web API;
Τα πλεονεκτήματα του Web API είναι:
- OData
- Φίλτρα
- Διαπραγμάτευση περιεχομένου
- Αυτοφιλοξενία
- Δρομολόγηση
- Μοντέλο δεσίματα
6) Ποιοι είναι οι κύριοι τύποι επιστροφής που υποστηρίζονται στο Web API;
Μια ενέργεια ελεγκτή Web API μπορεί να επιστρέψει τις ακόλουθες τιμές:
- Κενός – Θα επιστρέψει κενό περιεχόμενο
- HttpResponseMessage – Θα μετατρέψει την απάντηση σε μήνυμα HTTP.
- IHttpActionResult – καλεί εσωτερικά το ExecuteAsync για να δημιουργήσει ένα HttpResponseMessage
- Άλλοι τύποι – Μπορείτε να γράψετε τη σειριακή τιμή επιστροφής στο σώμα απόκρισης
7) Ποιο πρωτόκολλο υποστηρίζει το Web API;
Η εφαρμογή Ιστού υποστηρίζει πρωτόκολλο HTTP.
8) Ποιο πλαίσιο .NET υποστηρίζει Web API;
Η έκδοση NET 4.0 και άνω υποστηρίζει το web API.
9) Το Web API χρησιμοποιεί ποια από τις παρακάτω βιβλιοθήκη ανοιχτού κώδικα για σειριοποίηση JSON;
Το Web API χρησιμοποιεί βιβλιοθήκη Json.NET για σειριοποίηση JSON.
10) Από προεπιλογή, το Web API στέλνει απάντηση HTTP με ποιον από τους ακόλουθους κωδικούς κατάστασης για όλες τις εξαιρέσεις που δεν έχουν εντοπιστεί;
500 Εσωτερικό σφάλμα διακομιστή
Asp.Net Web API Συνέντευξη Ερωτήσεις για έμπειρους
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;
Το SOAP είναι μια μορφή μηνύματος XML που χρησιμοποιείται σε αλληλεπιδράσεις με υπηρεσίες web. Επιτρέπει την αποστολή μηνυμάτων μέσω HTTP ή JMS, αλλά μπορούν να χρησιμοποιηθούν και άλλα πρωτόκολλα μεταφοράς. Είναι επίσης ένα πρωτόκολλο ανταλλαγής μηνυμάτων που βασίζεται σε XML για την ανταλλαγή πληροφοριών μεταξύ υπολογιστών.
15) Ποιο είναι το όφελος από τη χρήση του REST στο Web API;
Το REST χρησιμοποιείται για να πραγματοποιεί λιγότερες μεταφορές δεδομένων μεταξύ πελάτη και διακομιστή, γεγονός που το καθιστά ιδανικό για χρήση σε εφαρμογές για κινητά. Το Web API υποστηρίζει επίσης πρωτόκολλο HTTP. Επομένως, επαναφέρει τον παραδοσιακό τρόπο των ρημάτων HTTP για επικοινωνία.
16) Πώς μπορούμε να χρησιμοποιήσουμε το Web API με το ASP.NET Web Form;
Το Web API μπορεί να χρησιμοποιηθεί με το ASP.NET Web Form
Μπορεί να πραγματοποιηθεί με τρία απλά βήματα:
- Δημιουργήστε έναν ελεγκτή Web API,
- Προσθέστε έναν πίνακα δρομολόγησης στη μέθοδο Application_Start του Global.asax
- Στη συνέχεια, πρέπει να πραγματοποιήσετε μια μέθοδο jQuery AJAX Call to Web API και να λάβετε δεδομένα.
17) Πώς μπορείτε να περιορίσετε την πρόσβαση στο Web API σε συγκεκριμένο ρήμα HTTP;
Ο προγραμματισμός χαρακτηριστικών παίζει σημαντικό ρόλο. Είναι εύκολο να περιοριστεί η πρόσβαση σε μια μέθοδο API Web ASP.NET που θα κληθεί χρησιμοποιώντας μια συγκεκριμένη μέθοδο HTTP.
18) Μπορείτε να χρησιμοποιήσετε το Web API με το ASP.NET Web Form;
Ναι, είναι δυνατή η χρήση Web API με φόρμα web ASP.Net. Καθώς συνοδεύεται από το πλαίσιο ASP.NET MVC. Ωστόσο, μπορεί να χρησιμοποιηθεί με Φόρμα Ιστού ASP.NET.
19) Πώς μπορεί να εκχωρηθεί όνομα ψευδωνύμου για ASP.NET Web API Action;
Μπορούμε να δώσουμε όνομα ψευδώνυμο για την ενέργεια Web API όπως και στην περίπτωση MVC ASP.NET χρησιμοποιώντας το χαρακτηριστικό "ActionName" ως εξής:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) Ποια είναι η έννοια του TestApi;
Το TestApi είναι μια βοηθητική βιβλιοθήκη API. Χρησιμοποιώντας αυτήν τη βιβλιοθήκη, ο προγραμματιστής μπορεί να δημιουργήσει εργαλεία δοκιμής και αυτοματοποιημένες δοκιμές για μια εφαρμογή .NET χρησιμοποιώντας δομή δεδομένων και αλγόριθμους.
Ερωτήσεις συνέντευξης Web API για 5ετή εμπειρία
21) Εξηγήστε τα φίλτρα εξαίρεσης;
Θα εκτελεστεί όταν οι εξαιρέσεις δεν χειρίζονται και απορρίπτονται από έναν ελεγκτή methoρε. Ο λόγος για την εξαίρεση μπορεί να είναι οτιδήποτε. Τα φίλτρα εξαίρεσης θα εφαρμόσουν τη διεπαφή "IExceptionFilter".
22) Πώς μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης από την ενέργεια;
Μπορούμε να καταχωρήσουμε το φίλτρο εξαίρεσης από την ενέργεια χρησιμοποιώντας τον ακόλουθο κώδικα:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) Πώς μπορείτε να επιστρέψετε την Προβολή από τη μέθοδο API Web ASP.NET;
Όχι, δεν μπορούμε να επιστρέψουμε μια προβολή από τη μέθοδο API Web ASP.NET. Το Web API δημιουργεί υπηρεσίες HTTP που αποδίδουν ακατέργαστα δεδομένα. Ωστόσο, είναι επίσης δυνατό στην εφαρμογή ASP.NET MVC.
24) Πώς να καταχωρήσω το φίλτρο εξαίρεσης παγκοσμίως;
Είναι δυνατό να καταχωρήσετε το φίλτρο εξαίρεσης παγκοσμίως χρησιμοποιώντας τον ακόλουθο κώδικα-
GlobalConfiguration.Configuration.Filters.Add(new
MyTestCustomerStore.NotImplExceptionFilterAttribute());
25) Εξηγήστε τι είναι η ΑΝΑΠΑΡΑΓΩΓΗ και η ΑΝΑΚΟΥΣΙΑ;
Το REST αντιπροσωπεύει την αντιπροσωπευτική μεταβίβαση κράτους. είναι μια εντελώς νέα πτυχή της σύνταξης μιας εφαρμογής Ιστού.
RESTFUL: Ο όρος που γράφεται με την εφαρμογή των αρχιτεκτονικών εννοιών REST ονομάζεται RESTful services. Επικεντρώνεται στους πόρους του συστήματος και στον τρόπο μεταφοράς της κατάστασης του πόρου μέσω του πρωτοκόλλου HTTP.
26) Δώστε μου ένα παράδειγμα δρομολόγησης Web API;
Config.Routes.MapHttpRoute( name: "MyRoute,"//route name routeTemplate: "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
- Web API OData
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 για την ανάπτυξη ή τη δοκιμή web api;
Τα εργαλεία δοκιμής για υπηρεσίες ιστού για REST API περιλαμβάνουν:
- Jersey API
- CFX
- Άξονας
- Επανεκκινήστε
33) Τι είναι το REST;
Το REST είναι αρχιτεκτονικού στυλ. Έχει ορίσει κατευθυντήριες γραμμές για τη δημιουργία υπηρεσιών που είναι επεκτάσιμες. Το REST χρησιμοποιείται με το πρωτόκολλο HTTP χρησιμοποιώντας τα ρήματα GET, PUT, POST και DELETE.
34) Πώς να δοκιμάσετε μονάδα Web API;
Μπορούμε να εκτελέσουμε μια δοκιμή μονάδας χρησιμοποιώντας εργαλεία Web API όπως Fiddler.
Εδώ, είναι μερικές ρυθμίσεις που πρέπει να κάνετε εάν χρησιμοποιείτε
Fiddler – Καρτέλα Σύνθεση -> Εισαγωγή κεφαλίδων αιτήματος -> Εισαγάγετε το σώμα του αιτήματος και εκτελέστε
35) Πώς μπορούμε να περιορίσουμε την πρόσβαση σε μεθόδους με συγκεκριμένα ρήματα HTTP στο Web API;
Ο προγραμματισμός χαρακτηριστικών χρησιμοποιείται ευρέως για αυτή τη λειτουργία. Το Web API επιτρέπει επίσης τον περιορισμό της πρόσβασης στις μεθόδους κλήσης με τη βοήθεια συγκεκριμένων ρημάτων HTTP. Είναι επίσης δυνατό να οριστούν τα ρήματα HTTP ως μέθοδος αντιστοίχισης.
Ερωτήσεις συνέντευξης Web API για 10+ χρόνια εμπειρίας
36) Ποια είναι η χρήση του DelegatingHandler;
Το DelegatingHandler χρησιμοποιείται στο Web API για την αντιπροσώπευση των Message Handler πριν από τη δρομολόγηση.
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);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) Εξηγήστε το απόσπασμα κώδικα για την εγγραφή φίλτρων εξαιρέσεων από τον ελεγκτή;
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) Ποιο πρωτόκολλο υποστηρίζει το Web API;
Η εφαρμογή Web υποστηρίζει πρωτόκολλο HTTP
41) Ποιο από τα ακόλουθα πλαίσια .NET υποστηρίζει το 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;
Στο API WEB, το 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 //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); 1 2 3 //JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας