50 лучших вопросов и ответов на собеседование по Asp.Net Web API

Anonim

Скачать 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, и его легко определить, раскрыть и использовать в режиме REST.
  • Это легкая архитектура и идеально подходит для устройств с ограниченной пропускной способностью, таких как смартфоны.

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) Какую из следующих библиотек с открытым исходным кодом для сериализации JSON использует веб-API?

Веб-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

Это можно сделать в три простых шага:

  1. Создайте контроллер веб-API,
  2. Добавьте таблицу маршрутизации в метод Application_Start файла Global.sax
  3. Затем вам нужно выполнить 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) Как можно назначить псевдоним для действия веб-API ASP.NET?

Мы можем дать псевдоним для действия веб-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) Как можно вернуть представление из метода веб-API ASP.NET?

Нет, мы не можем вернуть представление из метода веб-API ASP.NET. Веб-API создает службы HTTP, которые отображают необработанные данные. Однако это также возможно в приложении ASP.NET MVC.

24) Как глобально прописать фильтр исключений?

Можно зарегистрировать фильтр исключений глобально, используя следующий код:

GlobalConfiguration.Configuration.Filters.Add (новый

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Объясните, что такое ОТДЫХ и ОТДЫХ?

REST представляет REpresentational State Transfer; это совершенно новый аспект написания веб-приложений.

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?

В веб-API доступно несколько классов для обработки ошибок. Это HttpError, фильтры исключений, HttpResponseException и фильтры регистрации исключений.

28) Какие новые функции включены в ASP.NET Web API 2.0?

Последние функции платформы веб-API ASP.NET v2.0 заключаются в следующем:

  • Маршрутизация атрибутов
  • Совместное использование ресурсов между источниками
  • Внешняя аутентификация
  • Открытый веб-интерфейс NET
  • HttpActionResult
  • Веб-API OData

29) Как можно ограничить методы доступа определенными HTTP-командами в веб-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 включают:

  1. API Джерси
  2. CFX
  3. Ось
  4. Рестлет

33) Что такое ОТДЫХ?

ОТДЫХ - это архитектурный стиль. В нем определены принципы создания масштабируемых сервисов. REST используется с протоколом HTTP с использованием его глаголов GET, PUT, POST и DELETE.

34) Как провести модульное тестирование веб-API?

Мы можем выполнить модульный тест, используя инструменты веб-API, такие как Fiddler.

Вот некоторые настройки, которые необходимо выполнить, если вы используете

Fiddler - Вкладка "Составить" -> "Введите заголовки запроса" -> "Введите тело запроса" и выполните

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);

return 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 не нуждаются в какой-либо настройке, их очень легко использовать любым клиентом. Infract, даже портативные устройства, такие как мобильные устройства, могут легко использовать WebAPI, что, безусловно, является самым большим преимуществом этой технологии.

50) Как мы можем убедиться, что веб-API возвращает только данные JSON?

Чтобы веб-API сериализовал возвращаемый объект в формат JSON и возвращал только данные JSON. Для этого вы должны добавить следующий код в класс WebApiConfig.cs в любой проект веб-API MVC:

//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));123//JsonFormatter//MediaTypeHeaderValueConfig.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))