As 50 principais perguntas e respostas da entrevista da API Web Asp.Net

baixar PDF

1) O que é API da Web?

WebAPI é uma estrutura que o ajuda a construir / desenvolver serviços HTTP.

2) Por que a API da Web é necessária? É possível usar serviços RESTful usando WCF?

Sim, ainda podemos desenvolver serviços RESTful com WCF. No entanto, há dois motivos principais que levam os usuários a usar a API da Web em vez de serviços RESTful.

  • A API Web aumenta a abordagem TDD (Test Data Driven) no desenvolvimento de serviços RESTful.
  • Se quisermos desenvolver serviços RESTful no WCF, você certamente precisará de muitas configurações, modelos de URI, contratos e terminais para desenvolver serviços RESTful usando API da web.

3) Por que selecionar Web API?

  • É usado para criar serviços HTTP simples não baseados em SOAP
  • Também é um método fácil de criação com Web API. Com serviços WCF REST
  • É baseado em HTTP e fácil de definir, expor e consumir de forma REST-full.
  • É uma arquitetura leve e ideal para dispositivos com largura de banda limitada, como smartphones.

4) É certo que o ASP.NET Web API substituiu o WCF?

Não é verdade que a ASP.NET Web API substituiu o WCF. Na verdade, é outra maneira de construir serviços não baseados em SOAP, ou seja, XML simples ou string JSON.

5) Quais são as vantagens da API Web?

As vantagens da API Web são:

  • Uma vez
  • Filtros
  • Negociação de Conteúdo
  • Self-Hosting
  • Encaminhamento
  • Model Bindings

6) Quais são os principais tipos de retorno com suporte na API Web?

Uma ação do controlador de API da Web pode retornar os seguintes valores:

  • Vazio - Retornará conteúdo vazio
  • HttpResponseMessage - Ele converterá a resposta em uma mensagem HTTP.
  • IHttpActionResult - chama internamente ExecuteAsync para criar um HttpResponseMessage
  • Outros tipos - você pode escrever o valor de retorno serializado no corpo da resposta

7) A API Web oferece suporte a qual protocolo?

O Web App oferece suporte ao protocolo HTTP.

8) Qual framework .NET suporta API Web?

NET 4.0 e versões posteriores oferecem suporte a API da web.

9) A API da Web usa qual das seguintes bibliotecas de código aberto para serialização JSON?

A API Web usa a biblioteca Json.NET para serialização JSON.

10) Por padrão, a API da Web envia uma resposta HTTP com qual dos seguintes códigos de status para todas as exceções não detectadas?

500 - Erro interno do servidor

11) Qual é a maior desvantagem de 'Outros tipos de retorno' na API da Web?

A maior desvantagem dessa abordagem é que você não pode retornar diretamente um código de erro como o erro 404.

12) Como você constrói HtmlResponseMessage?

A seguir está a maneira de construir para fazer isso,

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) O que é roteamento de API da Web?

O roteamento é a correspondência de padrões como no MVC.

Todas as rotas são registradas nas tabelas de rotas.

Por exemplo:

Routes.MapHttpRoute( Name: 'ExampleWebAPIRoute', routeTemplate: api/{controller}/{id} defaults: new { id = RouteParameter.Optional} 

14) O que é SOAP?

SOAP é um formato de mensagem XML usado em interações de serviço da web. Ele permite o envio de mensagens por HTTP ou JMS, mas outros protocolos de transporte podem ser usados. É também um protocolo de mensagens baseado em XML para troca de informações entre computadores.

15) Qual é a vantagem de usar REST na API Web?

REST é usado para fazer menos transferências de dados entre cliente e servidor, o que o torna ideal para uso em aplicativos móveis. A API da Web também oferece suporte ao protocolo HTTP. Portanto, ele reintroduz a forma tradicional dos verbos HTTP para comunicação.

16) Como podemos usar a API Web com ASP.NET Web Form?

A API da Web pode ser usada com ASP.NET Web Form

Pode ser realizado em três etapas simples:

  1. Crie um controlador de API da Web,
  2. Adicione uma tabela de roteamento ao método Application_Start de Global.sax
  3. Em seguida, você precisa fazer uma chamada jQuery AJAX para o método API da Web e obter os dados.

17) Como você pode limitar o acesso à API da Web a um verbo HTTP específico?

A programação de atributos desempenha um papel importante. É fácil restringir o acesso a um método ASP.NET Web API a ser chamado usando um método HTTP específico.

18) Você pode usar o Web API com ASP.NET Web Form?

Sim, é possível usar a API Web com o formulário web ASP.Net. Como é empacotado com o framework ASP.NET MVC. No entanto, ele pode ser usado com o ASP.NET Web Form.

19) Como posso atribuir um nome de alias para ASP.NET Web API Action?

Podemos fornecer um nome alternativo para a ação da API da Web igual ao caso da ASP.NET MVC usando o atributo 'ActionName' da seguinte forma:

[HttpPost] [ActionName('SaveStudentInfo')] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); } 

20) Qual é o significado de TestApi?

TestApi é uma biblioteca de utilitários de APIs. Usando esta biblioteca, o desenvolvedor de testador pode criar ferramentas de teste e testes automatizados para um aplicativo .NET usando estrutura de dados e algoritmos.

21) Explicar filtros de exceção?

Ele será executado quando as exceções não forem tratadas e lançadas de um controlador de metanfetamina ou d. O motivo da exceção pode ser qualquer coisa. Os filtros de exceção implementarão a interface 'IExceptionFilter'.

22) Como podemos registrar o filtro de exceção da ação?

Podemos registrar o filtro de exceção da ação usando o seguinte código:

[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code } 

23) Como você pode retornar o método View from ASP.NET Web API?

Não, não podemos retornar uma visão do Método API da Web ASP.NET. A API da Web cria serviços HTTP que processam dados brutos. No entanto, também é possível no aplicativo ASP.NET MVC.

24) Como registrar o filtro de exceção globalmente?

É possível registrar o filtro de exceção globalmente usando o seguinte código-

GlobalConfiguration.Configuration.Filters.Add (novo

MyTestCustomerStore.NotImplExceptionFilterAttribute ());

25) Explique o que é REST e RESTFUL?

REST representa transferência de estado representacional; é um aspecto inteiramente novo de escrever um aplicativo da web.

RESTFUL: é um termo escrito aplicando os conceitos de arquitetura REST, é chamado de serviços RESTful. Ele se concentra nos recursos do sistema e em como o estado do recurso deve ser transportado pelo protocolo HTTP.

26) Dê-me um exemplo de roteamento de API da Web?

 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) Como você pode lidar com erros na API Web?

Várias classes estão disponíveis na API da Web para lidar com erros. Eles são HttpError, Filtros de exceção, HttpResponseException e Filtros de exceção de registro.

28) Quais são os novos recursos que acompanham o ASP.NET Web API 2.0?

Os recursos mais recentes do ASP.NET Web API Framework v2.0 são os seguintes:

  • Roteamento de Atributo
  • Compartilhamento de recursos de origem cruzada
  • Autenticação Externa
  • Abra a Interface da Web NET
  • HttpActionResult
  • API OData Web

29) Como você pode restringir os métodos de acesso a verbos HTTP específicos na API Web?

Com a ajuda de Atributos (como verbos HTTP), é possível implementar restrições de acesso na Web API.

É possível definir verbos HTTP como um atributo para restringir o acesso. Exemplo:

[HttpPost] public void Method1(Class obj) { //logic 

30) Como você pode passar vários tipos complexos na API da Web?

Dois métodos para passar os tipos complexos na API da Web -

Usando a matriz ArrayList e Newtonsoft

31) Escreva um código para passar ArrayList na API Web?

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) Nomeie as ferramentas ou API para desenvolver ou testar a API da web?

As ferramentas de teste para serviços da web para APIs REST incluem:

  1. Jersey API
  2. CFX
  3. Eixo
  4. Restlet

33) O que é REST?

REST é o estilo arquitetônico. Ele definiu diretrizes para a criação de serviços que são escalonáveis. REST usado com protocolo HTTP usando seus verbos GET, PUT, POST e DELETE.

34) Como testar a unidade da API da Web?

Podemos realizar um teste de unidade usando ferramentas de API da Web como o Fiddler.

Aqui estão algumas configurações a serem feitas se você estiver usando

Fiddler - Guia Composto -> Inserir cabeçalhos de solicitação -> Insira o corpo da solicitação e execute

35) Como podemos restringir o acesso a métodos com verbos HTTP específicos na API Web?

A programação de atributos é amplamente usada para essa funcionalidade. A API Web também permite restringir o acesso de métodos de chamada com a ajuda de verbos HTTP específicos. Também é possível definir verbos HTTP como atributo sobre método.

36) Qual é o uso de DelegatingHandler?

DelegatingHandler é usado na API Web para representar Manipuladores de Mensagens antes do roteamento.

37) Como podemos registrar o filtro de exceção da ação?

Podemos registrar o filtro de exceção da ação usando o seguinte código

[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code } 

38) Diga-me o trecho de código para mostrar como podemos retornar erros 404 de HttpError?

Código para retornar o erro 404 de HttpError

string message = string.Format (TestCustomer id = {0} não encontrado, customerid);

return Request.CreateErrorResponse (HttpStatusCode.NotFound, mensagem);

39) Explicar trecho de código para registrar filtros de exceção do controlador?

[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here } 

40) A API Web oferece suporte a qual protocolo?

O aplicativo da web suporta o protocolo HTTP

41) Qual das seguintes estruturas .NET oferece suporte à API Web?

A API da Web é compatível com a versão NET 4.0

42) A API Web usa qual biblioteca para serialização JSON?

A API Web usa a biblioteca Json.NET para serialização JSON.

43) Por padrão, a API Web envia resposta HTTP com qual dos seguintes códigos de status para todas as exceções não detectadas?

500 - Erro interno do servidor

44) Explique o método para lidar com erros usando HttpError na API da Web?

Na WEB API, HttpError usado para lançar as informações do erro no corpo da resposta. O método CreateErrorResponse também pode ser usado junto com isso, que é um método de extensão definido em HttpRequestMessageExtension.

45) Como podemos registrar o filtro de exceção globalmente?

Podemos registrar o filtro de exceção globalmente usando o seguinte código:

GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute()); 

46) Como lidar com erros na API Web?

Várias classes estão disponíveis na API da Web para lidar com erros. Eles são HttpError, HttpResponseException, Filtros de exceção, Filtros de exceção de registro.

47) Qual é a vantagem do WebAPI sobre o WCF?

Os serviços WCF usam o protocolo SOAP, enquanto o HTTP nunca usa o protocolo SOAP. É por isso que os serviços WebAPI são leves, já que o SOAP não é usado. Também reduz os dados que são transferidos para retomar o serviço. Além disso, nunca precisa de muita configuração. Portanto, o cliente pode interagir com o serviço usando os verbos HTTP.

48) Diferenças de estado entre MVC e WebAPI

O framework MVC é usado para desenvolver aplicativos que possuem interface de usuário. Para isso, as visualizações podem ser utilizadas para a construção de uma interface de usuário.

WebAPI é usado para desenvolver serviços HTTP. Outros aplicativos também podem ser chamados de métodos WebAPI para buscar esses dados.

49) Quem pode consumir WebAPI?

WebAPI pode ser consumido por qualquer cliente que suporte verbos HTTP como GET, PUT, DELETE, POST. Como os serviços WebAPI não precisam de nenhuma configuração, eles são muito fáceis de consumir por qualquer cliente. Infract, mesmo dispositivos portáteis como dispositivos móveis podem consumir facilmente WebAPI, o que é certamente a maior vantagem desta tecnologia.

50) Como podemos ter certeza de que a API Web retorna apenas dados JSON?

Para fazer a API da Web serializar o objeto de retorno para o formato JSON e retornar apenas dados JSON. Para isso você deve adicionar o seguinte código na classe WebApiConfig.cs em qualquer projeto 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'))