50 въпроса и отговора за интервю за Asp.Net Web API (2025)
Въпроси и отговори за интервю за Asp.Net Web API за първокурсници
1) Какво е уеб 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.
👉 Безплатно изтегляне на PDF: Asp.Net Web API Въпроси и отговори >>
3) Защо да изберете Web API?
- Използва се за създаване на прости HTTP услуги, които не са базирани на SOAP
- Това също е лесен метод за създаване с Web API. С WCF REST услуги
- Базиран е на HTTP и е лесен за дефиниране, излагане и използване по REST-ful начин.
- Той е с лека архитектура и идеален за устройства с ограничена честотна лента като смартфони.
4) Правилно ли е ASP.NET Web API да замени WCF?
Изобщо не е вярно, че ASP.NET Web API е заменил WCF. Всъщност това е друг начин за изграждане на не-SOAP базирани услуги, т.е. обикновен XML или JSON низ.
5) Какви са предимствата на Web API?
Предимствата на Web API са:
- OData
- Филтри
- Договаряне на съдържанието
- Самостоятелно хостване
- Routing
- Обвързване на модела
6) Какви са основните типове връщане, поддържани в Web API?
Действието на уеб API контролер може да върне следните стойности:
- празнота – Ще върне празно съдържание
- HttpResponseMessage – Ще преобразува отговора в HTTP съобщение.
- IHttpActionResult – вътрешно извиква ExecuteAsync, за да създаде HttpResponseMessage
- Други типове – Можете да запишете сериализираната върната стойност в тялото на отговора
7) Уеб API поддържа кой протокол?
Уеб приложението поддържа HTTP протокол.
8) Коя .NET рамка поддържа уеб API?
NET 4.0 и по-нова версия поддържа уеб API.
9) Web API използва коя от следните библиотеки с отворен код за JSON сериализация?
Уеб API използва Json.NET библиотека за JSON сериализация.
10) По подразбиране Web API изпраща HTTP отговор с кой от следните кодове на състояние за всички неуловени изключения?
500 - вътрешна грешка в сървъра
Въпроси за интервю за Asp.Net Web API за опитни
11) Какъв е най-големият недостатък на „Други типове връщане“ в уеб 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) Какво е уеб API маршрутизиране?
Маршрутизирането е съпоставяне на шаблони като в MVC.
Всички маршрути са регистрирани в Таблици с маршрути.
Например:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) Какво е SOAP?
SOAP е формат на XML съобщение, използван при взаимодействия на уеб услуги. Позволява изпращане на съобщения през HTTP или JMS, но могат да се използват и други транспортни протоколи. Освен това е базиран на XML протокол за съобщения за обмен на информация между компютри.
15) Каква е ползата от използването на REST в Web API?
REST се използва за по-малко трансфери на данни между клиент и сървър, което го прави идеален за използване в мобилни приложения. Web API поддържа и HTTP протокол. Следователно той въвежда отново традиционния начин на HTTP глаголите за комуникация.
16) Как можем да използваме уеб API с ASP.NET уеб формуляр?
Уеб API може да се използва с ASP.NET уеб формуляр
Може да се извърши в три прости стъпки:
- Създайте Web API контролер,
- Добавете таблица за маршрутизиране към метода Application_Start на Global.asax
- След това трябва да направите jQuery AJAX Call to Web API метод и да получите данни.
17) Как можете да ограничите достъпа до уеб API до конкретен HTTP глагол?
Програмирането на атрибути играе важна роля. Лесно е да ограничите достъпа до ASP.NET Web API метод, който да бъде извикан с помощта на определен HTTP метод.
18) Можете ли да използвате уеб API с ASP.NET уеб формуляр?
Да, възможно е да използвате уеб API с уеб формуляр ASP.Net. Тъй като е в комплект с рамката ASP.NET MVC. Въпреки това може да се използва с ASP.NET уеб формуляр.
19) Как мога да задам име на псевдоним за ASP.NET Web API действие?
Можем да дадем име на псевдоним за действие на уеб API, същото както в случай на ASP.NET MVC чрез използване на атрибут „ActionName“, както следва:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) Какво е значението на TestApi?
TestApi е помощна библиотека от API. С помощта на тази библиотека тестер програмист може да създаде инструменти за тестване и автоматизирани тестове за .NET приложение, използващо структура на данни и алгоритми.
Въпроси за интервю за Web API за 5 години опит
21) Обяснете филтрите за изключения?
Той ще бъде изпълнен, когато изключенията са необработени и хвърлени от метод на контролерod. Причината за изключението може да бъде всичко. Филтрите за изключения ще реализират интерфейс „IExceptionFilter“.
22) Как можем да регистрираме филтър за изключения от действието?
Можем да регистрираме филтър за изключение от действие, като използваме следния код:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) Как можете да върнете View от ASP.NET Web API метод?
Не, не можем да върнем изглед от ASP.NET Web API метод. 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 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, филтри за изключения, HttpResponseException и филтри за регистриране на изключения.
28) Какви нови функции идва с ASP.NET Web API 2.0?
Най-новите функции на ASP.NET Web API framework v2.0 са както следва:
- Маршрутизиране на атрибути
- Споделяне на ресурси от различни източници
- Външно удостоверяване
- Отворете уеб интерфейс 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 за разработване или тестване на уеб API?
Инструментите за тестване на уеб услуги за REST API включват:
- API на Джърси
- CFX
- Ос
- restlet
33) Какво е REST?
REST е архитектурен стил. Той е определил насоки за създаване на услуги, които са мащабируеми. REST се използва с HTTP протокол, използвайки неговите глаголи GET, PUT, POST и DELETE.
34) Как да тествам уеб API?
Можем да извършим Unit тест с помощта на инструменти за уеб API като Fiddler.
Ето някои настройки, които трябва да направите, ако използвате
Fiddler – Раздел Compose -> Въведете заглавки на заявката -> Въведете тялото на заявката и изпълнете
35) Как можем да ограничим достъпа до методи със специфични HTTP глаголи в Web API?
Програмирането на атрибути се използва широко за тази функционалност. Web API също позволява ограничаване на достъпа до извикващи методи с помощта на специфични HTTP глаголи. Възможно е също да се дефинират HTTP глаголи като атрибут над метод.
Въпроси за интервю за Web API за 10+ години опит
36) Каква е употребата на DelegatingHandler?
DelegatingHandler се използва в уеб 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);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) Обяснете кодовия фрагмент за регистриране на филтри за изключения от контролера?
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) Уеб API поддържа кой протокол?
Web App поддържа HTTP протокол
41) Коя от следните .NET рамки поддържа Web API?
Web API се поддържа от NET 4.0 версия
42) Уеб API коя библиотека използва за JSON сериализация?
Уеб API използва Json.NET библиотека за JSON сериализация.
43) По подразбиране Web API изпраща HTTP отговор с кой от следните кодове на състояние за всички неуловени изключения?
500 - вътрешна грешка в сървъра
44) Обяснете метода за обработка на грешка с помощта на HttpError в уеб API?
В WEB API HttpError се използва за хвърляне на информация за грешка в тялото на отговора. Методът „CreateErrorResponse“ също може да се използва заедно с този, който е метод на разширение, дефиниран в „HttpRequestMessageExtension“.
45) Как можем да регистрираме филтър за изключения глобално?
Можем да регистрираме филтър за изключения глобално, като използваме следния код:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Как да обработваме грешки в Web API?
Няколко класа са налични в Web API за обработка на грешки. Те са HttpError, HttpResponseException, филтри за изключения, филтри за регистриране на изключения.
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 (устна)