50 の Asp.Net Web API インタビューの質問と回答 (2024)
Asp.Net Web API の新人向け面接の質問と回答
1) Web APIとは何ですか?
WebAPI は、HTTP サービスの構築/開発に役立つフレームワークです。
2) Web API はなぜ必要ですか? WCF を使用して RESTful サービスを使用することはできますか?
はい、WCF を使用して RESTful サービスを開発できます。 ただし、ユーザーが RESTful サービスの代わりに Web API を使用するよう求める主な理由は XNUMX つあります。
- Web API は、RESTful サービスの開発における TDD (テスト データ駆動) アプローチを強化します。
- WCF で RESTful サービスを開発したい場合は、Web API を使用して RESTful サービスを開発するための多くの構成設定、URI テンプレート、コントラクト、エンドポイントが必ず必要になります。
👉 無料 PDF ダウンロード: Asp.Net Web API インタビューの質問と回答 >>
3) Web API を選択する理由は何ですか?
- シンプルな非 SOAP ベースの HTTP サービスを作成するために使用されます。
- Web APIを利用して簡単に作成する方法でもあります。 WCF REST サービスを使用する場合
- これは HTTP に基づいており、REST フルな方法で簡単に定義、公開、利用できます。
- 軽量なアーキテクチャなので、スマートフォンのように帯域幅が制限されているデバイスに最適です。
4) ASP.NET Web API が WCF に置き換わったというのは正しいですか?
ASP.NET Web API が WCF に置き換わったというのはまったく真実ではありません。 実際、これは非 SOAP ベースのサービス、つまりプレーン XML または JSON 文字列を構築する別の方法です。
5) Web API の利点は何ですか?
Web API の利点は次のとおりです。
- Oデータ
- フィルタ
- コンテンツのネゴシエーション
- セルフホスティング
- ルーティング
- モデルバインディング
6) Web API でサポートされている主な戻り値の型は何ですか?
Web API コントローラー アクションは次の値を返すことができます。
- 空間 – 空のコンテンツが返されます
- HttpResponseMessage – 応答を HTTP メッセージに変換します。
- IHttpActionResult – 内部的にExecuteAsyncを呼び出してHttpResponseMessageを作成します
- 他のタイプ – シリアル化された戻り値をレスポンスボディに書き込むことができます
7) Web API はどのプロトコルをサポートしていますか?
Web アプリは HTTP プロトコルをサポートします。
8) Web API をサポートする .NET フレームワークはどれですか?
NET 4.0 以降のバージョンは Web API をサポートします。
9) Web API は、JSON シリアル化に次のオープンソース ライブラリのどれを使用しますか?
Web API は、JSON シリアル化に Json.NET ライブラリを使用します。
10) デフォルトでは、Web API はキャッチされていないすべての例外に対して次のどのステータス コードで HTTP 応答を送信しますか?
500 - 内部サーバーエラー
Asp.Net Web API 経験者向けの面接の質問
11) Web 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) Web API ルーティングとは何ですか?
ルーティングはMVCのようなパターンマッチングです。
すべてのルートはルート テーブルに登録されます。
例:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) 石鹸とは何ですか?
SOAP は、Web サービスの対話で使用される XML メッセージ形式です。 HTTP または JMS 経由でメッセージを送信できますが、他のトランスポート プロトコルも使用できます。 これは、コンピュータ間で情報を交換するための XML ベースのメッセージング プロトコルでもあります。
15) Web API で REST を使用する利点は何ですか?
REST はクライアントとサーバー間のデータ転送を減らすために使用されるため、モバイル アプリでの使用に最適です。 Web APIはHTTPプロトコルもサポートしています。 したがって、通信のために HTTP 動詞の伝統的な方法が再導入されます。
16) ASP.NET Web フォームで Web API を使用するにはどうすればよいですか?
ASP.NET WebフォームでWeb APIを利用可能
これは、次の XNUMX つの簡単な手順で実行できます。
- Web APIコントローラーを作成します。
- Global.asax の Application_Start メソッドにルーティング テーブルを追加します。
- 次に、Web API メソッドへの jQuery AJAX 呼び出しを行ってデータを取得する必要があります。
17) Web API へのアクセスを特定の HTTP 動詞に制限するにはどうすればよいですか?
属性プログラミングは重要な役割を果たします。 特定の HTTP メソッドを使用して呼び出される ASP.NET Web API メソッドへのアクセスを制限するのは簡単です。
18) ASP.NET Web フォームで Web API を使用できますか?
はい、ASP.Net Web フォームで Web API を使用することができます。 ASP.NET MVC フレームワークにバンドルされているため。 ただし、次のような場合にも使用できます。 ASP.NET Web フォーム.
19) ASP.NET Web 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) 例外フィルターについて説明しますか?
例外が処理されず、コントローラーのメソッドからスローされたときに実行されます。od. 例外の理由は何でも構いません。 例外フィルターは「IExceptionFilter」インターフェースを実装します。
22) アクションから例外フィルターを登録するにはどうすればよいですか?
次のコードを使用して、アクションから例外フィルターを登録できます。
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) ASP.NET Web API メソッドから View を返すにはどうすればよいですか?
いいえ、ASP.NET Web API メソッドからビューを返すことはできません。 Web API は、生データをレンダリングする HTTP サービスを作成します。 ただし、ASP.NET MVC アプリケーションでも可能です。
24) 例外フィルターをグローバルに登録するにはどうすればよいですか?
次のコードを使用して例外フィルターをグローバルに登録することができます。
GlobalConfiguration.Configuration.Filters.Add(new
MyTestCustomerStore.NotImplExceptionFilterAttribute());
25) REST と RESTFUL とは何ですか?
REST は REpresentational State Transfer を表します。 これは、Web アプリの作成におけるまったく新しい側面です。
RESTFUL: REST アーキテクチャの概念を適用して記述された用語は、RESTful サービスと呼ばれます。これは、システム リソースと、リソースの状態を HTTP プロトコル経由で転送する方法に重点を置いています。
26) Web API ルーティングの例を XNUMX つ教えてください。
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 の最新機能は次のとおりです。
- 属性ルーティング
- クロスオリジン リソース シェアリング
- 外部認証
- オープンWebインターフェイスNET
- HttpActionResult
- Web API OData
29) Web API でアクセス方法を特定の HTTP 動詞に制限するにはどうすればよいですか?
属性 (HTTP 動詞など) を使用すると、Web API にアクセス制限を実装することができます。
HTTP 動詞を属性として定義してアクセスを制限することができます。
例:
[HttpPost] public void Method1(Class obj) { //logic
30) Web API で複数の複合型を渡すにはどうすればよいですか?
Web APIで複合型を渡す2つの方法 –
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) Web API を開発またはテストするためのツールまたは API に名前を付けますか?
REST API 用の Web サービスのテスト ツールには次のものがあります。
- ジャージーAPI
- CFX
- 軸
- レストレット
33) RESTとは何ですか?
REST はアーキテクチャ スタイルです。スケーラブルなサービスを作成するためのガイドラインが定義されています。REST は、GET、PUT、POST、および DELETE 動詞を使用して HTTP プロトコルで使用されます。
34) Web API の単体テストを行うにはどうすればよいですか?
次のような Web API ツールを使用して単体テストを実行できます。 Fiddler.
を使用している場合に行うべき設定は次のとおりです。
Fiddler –「作成」タブ -> リクエストヘッダーを入力 -> リクエスト本文を入力して実行
35) Web API で特定の HTTP 動詞を含むメソッドへのアクセスを制限するにはどうすればよいですか?
属性プログラミングは、この機能に広く使用されています。 Web API では、特定の HTTP 動詞を使用してメソッド呼び出しのアクセスを制限することもできます。 HTTP 動詞をメソッドではなく属性として定義することもできます。
10 年以上の経験を持つ Web API の面接での質問
36) DelegatingHandler の用途は何ですか?
DelegatingHandler は、Web 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) Web API はどのプロトコルをサポートしていますか?
Web アプリのサポート HTTP プロトコル
41) 次の .NET フレームワークのうち、Web API をサポートしているのはどれですか?
Web APIはNET 4.0バージョンでサポートされています
42) Web 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 プロトコルを使用しません。 WebAPI サービスは SOAP を使用しないため軽量です。 また、サービスを再開するために転送されるデータも削減されます。 さらに、過剰な設定は必要ありません。 したがって、クライアントは 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"))
これらの面接の質問は、あなたの活力(口頭)にも役立ちます