Изтеглете PDF
1) Какво е уеб API?
WebAPI е рамка, която ви помага да изграждате / развивате HTTP услуги.
2) Защо се изисква уеб API? Възможно ли е да се използват RESTful услуги с помощта на WCF?
Да, все още можем да разработим RESTful услуги с WCF. Има обаче две основни причини, които подтикват потребителите да използват уеб API вместо RESTful услуги.
- Уеб API увеличава TDD (Test Data Driven) подход при разработването на RESTful услуги.
- Ако искаме да разработим RESTful услуги в WCF, със сигурност се нуждаете от много настройки за конфигуриране, URI шаблони, договори и крайни точки за разработване на RESTful услуги с помощта на уеб API.
3) Защо да изберете уеб API?
- Използва се за създаване на прости HTTP услуги, които не са базирани на SOAP
- Това също е лесен метод за създаване с уеб API. С WCF REST Services
- Той се основава на HTTP и е лесен за дефиниране, излагане и потребление по НАПОЧНЕН начин.
- Това е лека архитектура и идеален за устройства, които имат ограничена честотна лента като смартфони.
4) Правилно ли е, че ASP.NET Web API е заменил WCF?
Изобщо не е вярно, че ASP.NET Web API замени WCF. Всъщност това е друг начин за изграждане на услуги, които не са базирани на SOAP, т.е. обикновен XML или JSON низ.
5) Какви са предимствата на уеб API?
Предимства на уеб API са:
- OData
- Филтри
- Преговори за съдържание
- Самохостинг
- Маршрутизиране
- Моделни обвързвания
6) Какви са основните типове на връщане, поддържани в Web API?
Действието на контролера на уеб API може да върне следните стойности:
- Void - Ще върне празно съдържание
- HttpResponseMessage - Той ще преобразува отговора в HTTP съобщение.
- IHttpActionResult - вътрешно извиква ExecuteAsync, за да създаде HttpResponseMessage
- Други типове - Можете да запишете сериализираната стойност на връщане в тялото на отговора
7) Уеб API поддържа кой протокол?
Уеб приложението поддържа HTTP протокол.
8) Коя .NET рамка поддържа уеб API?
NET 4.0 и по-нова версия поддържа уеб API.
9) Уеб API използва коя от следните библиотеки с отворен код за JSON сериализация?
Уеб API използва Json.NET библиотека за JSON сериализация.
10) По подразбиране уеб API изпраща HTTP отговор с кой от следните кодове на състоянието за всички незаловени изключения?
500 Вътрешна грешка на сървъра
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 в уеб API?
REST се използва за по-малко прехвърляне на данни между клиент и сървър, което го прави идеален за използването му в мобилни приложения. Уеб API също поддържа HTTP протокол. Следователно, той въвежда отново традиционния начин на HTTP глаголите за комуникация.
16) Как можем да използваме уеб API с ASP.NET уеб формуляр?
Уеб API може да се използва с ASP.NET уеб формуляр
Може да се извърши в три прости стъпки:
- Създайте уеб API контролер,
- Добавете маршрутна таблица към метода Application_Start на Global.sax
- След това трябва да направите jQuery AJAX метод за извикване на уеб API и да получите данни.
17) Как можете да ограничите достъпа до уеб API до конкретен HTTP глагол?
Програмирането на атрибути играе важна роля. Лесно е да се ограничи достъпът до метод на ASP.NET Web API, който да бъде извикан с помощта на определен HTTP метод.
18) Можете ли да използвате уеб API с ASP.NET уеб формуляр?
Да, възможно е да се използва уеб API с уеб формуляр ASP.Net. Тъй като е в комплект с ASP.NET MVC framework. Въпреки това, той може да се използва с 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) Как можете да върнете изглед от метода на ASP.NET Web API?
Не, не можем да върнем изглед от метода на ASP.NET Web API. Уеб API създава HTTP услуги, които представят сурови данни. Възможно е обаче и в приложението ASP.NET MVC.
24) Как да регистрирам филтър за изключения в световен мащаб?
Възможно е да регистрирате филтър за изключения глобално, като използвате следния код-
GlobalConfiguration.Configuration.Filters.Add (ново
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Обяснете какво е ПОЧИВКА и ОТСТЪПКА?
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) Как можете да се справите с грешки в уеб 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 глаголи) е възможно да се приложат ограничения за достъп в уеб API.
Възможно е да се определят HTTP глаголи като атрибут за ограничаване на достъпа. Пример:
[HttpPost]public void Method1(Class obj){//logic
30) Как можете да предадете множество сложни типове в уеб API?
Два метода за предаване на сложните типове в уеб API -
Използване на ArrayList и масив Newtonsoft
31) Напишете код за предаване на ArrayList в уеб 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 test, използвайки инструменти на Web API като Fiddler.
Ето някои настройки, които трябва да направите, ако използвате
Fiddler-Раздел Compose -> Въвеждане на заглавки на заявки -> Въведете тялото на заявката и изпълнете
35) Как можем да ограничим достъпа до методи със специфични HTTP глаголи в Web API?
Програмирането на атрибути се използва широко за тази функционалност. Уеб API също позволява ограничаване на достъпа до методите за извикване с помощта на специфични HTTP глаголи. Също така е възможно да се дефинират HTTP глаголи като атрибут над метод.
36) Какво е използването на DelegatingHandler?
DelegatingHandler се използва в уеб API за представяне на манипулатори на съобщения преди маршрутизиране.
37) Как можем да регистрираме филтър за изключения от действието?
Можем да регистрираме филтър за изключения от действие, като използваме следния код
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Кажете ми кодовия фрагмент, за да покажа как можем да върнем 404 грешки от HttpError?
Код за връщане на грешка 404 от HttpError
низ съобщение = string.Format („TestCustomer id = {0} не е намерен“, customerid);
върнете Request.CreateErrorResponse (HttpStatusCode.NotFound, съобщение);
39) Обяснете кодов фрагмент, за да регистрирате филтри за изключения от контролера?
[NotImplExceptionFilter]public class TestCustController : Controller{//Your code goes here}
40) Уеб API поддържа кой протокол?
Поддръжка на уеб приложения HTTP протокол
41) Коя от следните .NET Framework поддържа 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) Как да се справим с грешки в уеб API?
В Web API са налични няколко класа за обработка на грешки. Те са HttpError, HttpResponseException, филтри за изключения, регистриране на филтри за изключения.
47) Каква е ползата от WebAPI над WCF?
WCF услугите използват SOAP протокол, докато HTTP никога не използват SOAP протокол. Ето защо WebAPI услугите са леки, тъй като SOAP не се използва. Той също така намалява данните, които се прехвърлят в услуга за възобновяване. Освен това никога не се нуждае от твърде много конфигурация. Следователно клиентът може да взаимодейства с услугата, като използва HTTP глаголите.
48) Посочете разликите между MVC и WebAPI
MVC framework се използва за разработване на приложения, които имат потребителски интерфейс. За това изгледите могат да се използват за изграждане на потребителски интерфейс.
WebAPI се използва за разработване на HTTP услуги. Други приложения също могат да бъдат наречени WebAPI методи за извличане на тези данни.
49) Кой може да използва WebAPI?
WebAPI може да се използва от всеки клиент, който поддържа HTTP глаголи като GET, PUT, DELETE, POST. Тъй като услугите на WebAPI не се нуждаят от конфигурация, те са много лесни за използване от всеки клиент. Всъщност, дори преносими устройства като мобилни устройства могат лесно да консумират WebAPI, което със сигурност е най-голямото предимство на тази технология.
50) Как можем да се уверим, че Web API връща само JSON данни?
За да накарате уеб 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"))