Завантажте 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
- Він заснований на HTTP і його легко визначити, викрити та використати в повному обсязі.
- Це легка архітектура і ідеально підходить для пристроїв, які мають обмежену пропускну здатність, як смартфони.
4) Чи правильно, що веб-API ASP.NET замінив WCF?
Зовсім не вірно, що веб-API ASP.NET замінив WCF. Насправді це інший спосіб створення служб, не заснованих на SOAP, тобто звичайний рядок XML або JSON.
5) Які переваги веб-API?
Перевагами веб-API є:
- OData
- Фільтри
- Переговори щодо вмісту
- Самообслуговування
- Маршрутизація
- Модельні палітурки
6) Які основні типи повернення підтримуються у веб-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 - це формат повідомлення 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 Call to Web API і отримати дані.
17) Як можна обмежити доступ до веб-API певним дієсловом HTTP?
Програмування атрибутів відіграє важливу роль. Легко обмежити доступ до методу веб-API ASP.NET, який буде викликаний за допомогою певного методу 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-додатків, використовуючи структуру даних та алгоритми.
21) Поясніть фільтри винятків?
Він буде виконаний, коли винятки обробляються та видаються з методу контролера. Причиною винятку може бути що завгодно. Фільтри винятків реалізують інтерфейс "IExceptionFilter".
22) Як ми можемо зареєструвати фільтр винятків з дії?
Ми можемо зареєструвати фільтр винятків із дії, використовуючи такий код:
[NotImplExceptionFilter]public TestCustomer GetMyTestCustomer(int custid){//write the code}
23) Як можна повернути View з методу ASP.NET Web API?
Ні, ми не можемо повернути подання з методу веб-API ASP.NET. Веб-API створює служби HTTP, які надають необроблені дані. Однак це також можливо в додатку ASP.NET MVC.
24) Як зареєструвати фільтр винятків у всьому світі?
Можна зареєструвати фільтр винятків глобально, використовуючи наступний код-
GlobalConfiguration.Configuration.Filters.Add (нове
MyTestCustomerStore.NotImplExceptionFilterAttribute ());
25) Поясніть, що таке ВІДПУСК і ВІДПОВІДЬ?
REST являє собою представницький державний трансфер; це абсолютно новий аспект написання веб-програми.
RESTFUL: Цей термін, написаний із застосуванням архітектурних концепцій REST, називається RESTful services. Основна увага приділяється системним ресурсам і способу транспортування стану ресурсу за протоколом 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?
У веб-API доступно кілька класів для обробки помилок. Це HttpError, фільтри винятків, HttpResponseException та реєструючі фільтри винятків.
28) Які нові функції поставляються з ASP.NET Web API 2.0?
Найновіші функції ASP.NET Web API framework v2.0 такі:
- Маршрутизація атрибутів
- Спільне використання ресурсів
- Зовнішня автентифікація
- Відкрийте веб-інтерфейс NET
- HttpActionResult
- Веб-API OData
29) Як можна обмежити методи доступу до певних дієслів HTTP у веб-API?
За допомогою атрибутів (як-от дієслова HTTP) можна реалізувати обмеження доступу у веб-API.
Можна визначити дієслова HTTP як атрибут для обмеження доступу. Приклад:
[HttpPost]public void Method1(Class obj){//logic
30) Як можна передавати кілька складних типів у веб-API?
Два методи передачі складних типів у веб-API -
Використання ArrayList та Newtonsoft array
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
- Вісь
- Рестлет
33) Що таке REST?
REST - це архітектурний стиль. Він визначив керівні принципи щодо створення масштабованих послуг. REST використовується з протоколом HTTP з використанням дієслів GET, PUT, POST та DELETE.
34) Як модульно протестувати веб-API?
Ми можемо виконати Unit test за допомогою інструментів веб-API, таких як Fiddler.
Ось деякі налаштування, які потрібно зробити, якщо ви використовуєте
Fiddler - вкладка Compose -> Enter заголовки запиту -> введіть тіло запиту та виконайте
35) Як можна обмежити доступ до методів із певними дієсловами HTTP у веб-API?
Для цієї функціональності широко використовується програмування атрибутів. Веб-API також дозволяє обмежити доступ до методів виклику за допомогою певних дієслів HTTP. Також можливо визначити дієслова HTTP як атрибут над методом.
36) Яке використання DelegatingHandler?
DelegatingHandler використовується у веб-API для представлення обробників повідомлень перед маршрутизацією.
37) Як ми можемо зареєструвати фільтр винятків із дії?
Ми можемо зареєструвати фільтр винятків із дії, використовуючи наступний код
[NotImplExceptionFilter]public TestCust GetMyTestCust (int custno){//write the code}
38) Скажіть мені фрагмент коду, щоб показати, як ми можемо повернути помилки 404 із HttpError?
Код для повернення помилки 404 з HttpError
рядок message = 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 підтримує веб-API?
Веб-API підтримується версією NET 4.0
42) Яка бібліотека використовує веб-API для серіалізації JSON?
Веб-API використовує бібліотеку Json.NET для серіалізації JSON.
43) За замовчуванням веб-API надсилає відповідь HTTP, із яким із наведеного нижче коду стану для всіх незахоплених винятків?
500 Внутрішня помилка сервера
44) Поясніть метод обробки помилок за допомогою HttpError у веб-API?
У WEB API HttpError використовується для передачі інформації про помилку в тіло відповіді. Також разом із цим можна використовувати метод "CreateErrorResponse", який є методом розширення, визначеним у "HttpRequestMessageExtension".
45) Як ми можемо зареєструвати фільтр винятків у всьому світі?
Ми можемо зареєструвати фільтр винятків глобально, використовуючи такий код:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Як обробляти помилки у веб-API?
У веб-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 не потребують будь-якої конфігурації, їх дуже легко використовувати будь-який клієнт. Фактично, навіть портативні пристрої, такі як мобільні пристрої, можуть легко використовувати WebAPI, що, безумовно, є найбільшими перевагами цієї технології.
50) Як ми можемо переконатися, що веб-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"))