50 Asp.Net 웹 API 인터뷰 질문 및 답변(2024)
신입생을 위한 Asp.Net 웹 API 인터뷰 질문 및 답변
1) 웹API란 무엇인가요?
WebAPI는 HTTP 서비스를 구축/개발하는 데 도움이 되는 프레임워크입니다.
2) 웹 API는 왜 필요한가요? WCF를 사용하여 RESTful 서비스를 사용할 수 있습니까?
예, WCF를 사용하여 RESTful 서비스를 계속 개발할 수 있습니다. 그러나 사용자에게 RESTful 서비스 대신 Web API를 사용하라는 메시지를 표시하는 두 가지 주요 이유가 있습니다.
- 웹 API는 RESTful 서비스 개발에서 TDD(Test Data Driven) 접근 방식을 향상시킵니다.
- WCF에서 RESTful 서비스를 개발하려면 웹 API를 사용하여 RESTful 서비스를 개발하기 위한 많은 구성 설정, URI 템플릿, 계약 및 엔드포인트가 반드시 필요합니다.
👉 무료 PDF 다운로드: Asp.Net 웹 API 인터뷰 질문 및 답변 >>
3) 웹 API를 선택하는 이유는 무엇입니까?
- SOAP 기반이 아닌 간단한 HTTP 서비스를 만드는 데 사용됩니다.
- Web API로 생성하는 것도 쉬운 방법입니다. WCF REST 서비스 사용
- 이는 HTTP를 기반으로 하며 REST 방식으로 쉽게 정의, 노출 및 소비할 수 있습니다.
- 가벼운 아키텍처로, 스마트폰처럼 대역폭이 제한적인 기기에 이상적입니다.
4) ASP.NET Web API가 WCF를 대체했다는 것이 맞나요?
ASP.NET 웹 API가 WCF를 대체했다는 것은 전혀 사실이 아닙니다. 실제로 이는 비SOAP 기반 서비스, 즉 일반 XML 또는 JSON 문자열을 구축하는 또 다른 방법입니다.
5) 웹 API의 장점은 무엇인가요?
웹 API의 장점은 다음과 같습니다.
- 오데이터
- 필터
- 콘텐츠 협상
- 셀프 호스팅
- 라우팅
- 모델 바인딩
6) Web API에서 지원하는 주요 반환 유형은 무엇입니까?
웹 API 컨트롤러 작업은 다음 값을 반환할 수 있습니다.
- 빈 – 빈 콘텐츠를 반환합니다.
- HttpResponse메시지 – 응답을 HTTP 메시지로 변환합니다.
- IHttpAction 결과 – 내부적으로 ExecuteAsync를 호출하여 HttpResponseMessage를 생성합니다.
- 다른 유형 – 직렬화된 반환 값을 응답 본문에 쓸 수 있습니다.
7) 웹 API는 어떤 프로토콜을 지원합니까?
웹앱은 HTTP 프로토콜을 지원합니다.
8) 웹 API를 지원하는 .NET 프레임워크는 무엇입니까?
NET 4.0 이상 버전에서는 Web API를 지원합니다.
9) Web API는 JSON 직렬화를 위해 다음 중 어떤 오픈소스 라이브러리를 사용합니까?
Web API는 JSON 직렬화를 위해 Json.NET 라이브러리를 사용합니다.
10) 기본적으로 Web API는 모든 처리되지 않은 예외에 대해 다음 중 어떤 상태 코드로 HTTP 응답을 보냅니까?
500 - 내부 서버 오류
경험자를 위한 Asp.Net 웹 API 인터뷰 질문
11) Web API의 “Other Return Types”의 가장 큰 단점은 무엇인가요?
이 접근 방식의 가장 큰 단점은 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) 웹 API에서 REST를 사용하면 어떤 이점이 있나요?
REST는 클라이언트와 서버 간의 데이터 전송을 줄이는 데 사용되므로 모바일 앱에서 사용하기에 이상적입니다. Web API는 HTTP 프로토콜도 지원합니다. 따라서 통신을 위해 HTTP 동사의 전통적인 방식을 다시 도입합니다.
16) ASP.NET Web Form과 함께 Web API를 어떻게 사용할 수 있습니까?
웹 API는 ASP.NET 웹 양식과 함께 사용할 수 있습니다.
이는 세 가지 간단한 단계로 수행할 수 있습니다:
- 웹 API 컨트롤러를 생성하고,
- Global.asax의 Application_Start 메서드에 라우팅 테이블 추가
- 그런 다음 웹 API 메서드에 대한 jQuery AJAX 호출을 수행하고 데이터를 가져와야 합니다.
17) 웹 API에 대한 액세스를 특정 HTTP 동사로 제한하는 방법은 무엇입니까?
속성 프로그래밍은 중요한 역할을 합니다. 특정 HTTP 메서드를 사용하여 호출되는 ASP.NET Web API 메서드에 대한 액세스를 제한하는 것은 쉽습니다.
18) ASP.NET Web Form과 함께 Web API를 사용할 수 있습니까?
예, ASP.Net 웹 양식에서 Web API를 사용할 수 있습니다. ASP.NET MVC 프레임워크와 함께 번들로 제공됩니다. 그러나 다음과 함께 사용할 수 있습니다. ASP.NET 웹 양식.
19) ASP.NET 웹 API 작업에 별칭 이름을 할당하려면 어떻게 해야 합니까?
Web API 작업의 경우와 마찬가지로 별칭 이름을 지정할 수 있습니다. ASP.NET MVC 다음과 같이 "ActionName" 속성을 사용합니다.
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) TestApi의 의미는 무엇입니까?
TestApi는 API의 유틸리티 라이브러리입니다. 이 라이브러리 테스터를 사용하여 개발자는 다음을 만들 수 있습니다. 테스트 도구 데이터 구조와 알고리즘을 사용하여 .NET 애플리케이션에 대한 테스트를 자동화합니다.
5년 경력의 Web API 면접 질문
21) 예외 필터에 대해 설명해주세요.
예외가 처리되지 않고 컨트롤러에서 발생하면 실행됩니다.o디. 예외의 이유는 무엇이든 될 수 있습니다. 예외 필터는 "IExceptionFilter" 인터페이스를 구현합니다.
22) 액션에서 예외 필터를 어떻게 등록하나요?
다음 코드를 사용하여 액션에서 예외 필터를 등록할 수 있습니다.
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) ASP.NET 웹 API 메서드에서 View를 어떻게 반환할 수 있나요?
아니요, 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 프레임워크 v2.0의 최신 기능은 다음과 같습니다.
- 속성 라우팅
- 교차 출처 리소스 공유
- 외부 인증
- 오픈 웹 인터페이스 NET
- HttpActionResult
- 웹 API O데이터
29) Web API에서 특정 HTTP 동사에 대한 액세스 방법을 어떻게 제한할 수 있습니까?
HTTP 동사와 같은 속성의 도움으로 Web API에서 액세스 제한을 구현할 수 있습니다.
HTTP 동사를 속성으로 정의하여 액세스를 제한할 수 있습니다.
예:
[HttpPost] public void Method1(Class obj) { //logic
30) 웹 API에서 여러 복잡한 유형을 어떻게 전달할 수 있나요?
Web API에서 복합 유형을 전달하는 두 가지 방법 –
ArrayList 및 Newtonsoft 배열 사용
31) Web API에서 ArrayList를 전달하기 위한 코드를 작성하시겠습니까?
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는 GET, PUT, POST 및 DELETE라는 동사를 사용하여 HTTP 프로토콜과 함께 사용됩니다.
34) 웹 API를 단위 테스트하는 방법은 무엇입니까?
다음과 같은 웹 API 도구를 사용하여 단위 테스트를 수행할 수 있습니다. Fiddler.
다음은 사용하는 경우 수행해야 할 몇 가지 설정입니다.
Fiddler – 작성 탭 -> 요청 헤더 입력 -> 요청 본문 입력 및 실행
35) Web API에서 특정 HTTP 동사가 있는 메서드에 대한 액세스를 어떻게 제한할 수 있나요?
이 기능에는 속성 프로그래밍이 널리 사용됩니다. 웹 API를 사용하면 특정 HTTP 동사의 도움으로 호출 메서드에 대한 액세스를 제한할 수도 있습니다. 메소드보다 속성으로 HTTP 동사를 정의하는 것도 가능합니다.
10년 이상의 경력에 대한 웹 API 인터뷰 질문
36) DelegatingHandler의 사용법은 무엇입니까?
DelegatingHandler는 웹 API에서 라우팅 전에 메시지 처리기를 나타내는 데 사용됩니다.
37) 액션에서 예외 필터를 어떻게 등록하나요?
다음 코드를 사용하여 액션에서 예외 필터를 등록할 수 있습니다.
[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code }
38) HttpError에서 404 오류를 반환하는 방법을 보여주는 코드 조각을 알려주시겠어요?
HttpError에서 404 오류를 반환하는 코드
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는 어떤 프로토콜을 지원합니까?
웹앱 지원 HTTP 프로토콜
41) 다음 중 어느 .NET 프레임워크가 Web API를 지원합니까?
Web API는 NET 4.0 버전에서 지원됩니다.
42) 웹 API는 JSON 직렬화를 위해 어떤 라이브러리를 사용합니까?
Web API는 JSON 직렬화를 위해 Json.NET 라이브러리를 사용합니다.
43) 기본적으로 Web API는 모든 처리되지 않은 예외에 대해 다음 중 어떤 상태 코드로 HTTP 응답을 보냅니까?
500 - 내부 서버 오류
44) Web API에서 HttpError를 사용하여 오류를 처리하는 방법을 설명해주세요.
WEB API에서 HttpError는 응답 본문에 오류 정보를 표시하는 데 사용됩니다. 이와 함께 "HttpRequestMessageExtension"에 정의된 확장 메서드인 "CreateErrorResponse" 메서드도 함께 사용할 수 있습니다.
45) 예외 필터를 전역적으로 어떻게 등록할 수 있나요?
다음 코드를 사용하여 예외 필터를 전역적으로 등록할 수 있습니다.
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Web API 오류는 어떻게 처리하나요?
오류를 처리하기 위해 Web API에서 여러 클래스를 사용할 수 있습니다. HttpError, HttpResponseException, 예외 필터, 예외 필터 등록 등이 있습니다.
47) WCF에 비해 WebAPI의 이점은 무엇입니까?
WCF 서비스는 SOAP 프로토콜을 사용하지만 HTTP는 SOAP 프로토콜을 사용하지 않습니다. 이것이 SOAP를 사용하지 않기 때문에 WebAPI 서비스가 가벼운 이유입니다. 또한 서비스 재개를 위해 전송되는 데이터도 줄어듭니다. 또한 너무 많은 구성이 필요하지 않습니다. 따라서 클라이언트는 HTTP 동사를 사용하여 서비스와 상호 작용할 수 있습니다.
48) MVC와 WebAPI의 상태 차이점
MVC 프레임워크는 사용자 인터페이스를 갖춘 애플리케이션을 개발하는 데 사용됩니다. 이를 위해 뷰를 사용하여 사용자 인터페이스를 구축할 수 있습니다.
WebAPI는 HTTP 서비스 개발에 사용됩니다. 해당 데이터를 가져오기 위해 다른 앱을 WebAPI 메서드라고 부를 수도 있습니다.
49) 누가 WebAPI를 사용할 수 있나요?
WebAPI는 GET, PUT, DELETE, POST와 같은 HTTP 동사를 지원하는 모든 클라이언트에서 사용할 수 있습니다. WebAPI 서비스에는 구성이 필요하지 않으므로 모든 클라이언트에서 사용하기가 매우 쉽습니다. Infract, 모바일 장치와 같은 휴대용 장치에서도 쉽게 WebAPI를 사용할 수 있으며 이는 확실히 이 기술의 가장 큰 장점입니다.
50) Web API가 JSON 데이터만 반환하는지 어떻게 확인할 수 있나요?
Web API가 반환 객체를 JSON 형식으로 직렬화하고 JSON 데이터만 반환하도록 하려면 MVC Web API 프로젝트의 WebApiConfig.cs 클래스에 다음 코드를 추가해야 합니다.
//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"))
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.