Tổng hợp 500+ câu hỏi phỏng vấn ASP.NET Web API
Tổng hợp những câu hỏi phỏng vấn ASP.NET Web API mới nhất, chính xác nhất theo từng cấp bậc!
Câu hỏi phỏng vấn ASP.NET Web API
Hãy xem các câu hỏi chúng tôi đã tổng hợp và cùng ôn luyện lại nhé!
ASP.NET Web API là một framework của Microsoft được sử dụng để xây dựng và phát triển các dịch vụ web và ứng dụng web dựa trên các chuẩn và giao thức web như HTTP và REST. Nó cung cấp các công cụ và tính năng để xử lý các yêu cầu HTTP và trả về các phản hồi dưới dạng dữ liệu JSON hoặc XML. ASP.NET Web API được tích hợp sẵn trong ASP.NET MVC và có thể được sử dụng cho các ứng dụng web độc lập hoặc như một phần của một ứng dụng web tổng thể.
Để khởi tạo một dự án ASP.NET Web API mới, bạn có thể làm theo các bước sau:
- Mở Visual Studio và chọn "Create a new project".
- Trong cửa sổ "Create a new project", tìm kiếm từ khóa "ASP.NET Web Application".
- Chọn mẫu dự án "ASP.NET Web Application" và bấm Next.
- Đặt tên cho dự án và chọn đường dẫn lưu trữ.
- Bấm Next và chọn mẫu dự án "Web API".
- Bấm Create để tạo dự án mới.
- Visual Studio sẽ tự động tạo ra cấu trúc cơ bản cho một dự án Web API mới, bao gồm các tệp tin và thư mục cần thiết.
- Bạn có thể tùy chỉnh dự án và thêm các API endpoints bằng cách thêm các Controller mới vào thư mục Controllers.
Sau khi hoàn thành bước trên, bạn đã khởi tạo thành công một dự án ASP.NET Web API mới và có thể bắt đầu phát triển API của mình.
ASP.NET Web API hỗ trợ 6 loại HTTP methods. Đó là:
- GET: Được sử dụng để truy vấn và nhận về thông tin từ một resource.
- POST: Được sử dụng để tạo mới một resource.
- PUT: Được sử dụng để cập nhật hoặc thay đổi một resource.
- DELETE: Được sử dụng để xóa một resource.
- OPTIONS: Được sử dụng để lấy thông tin về các options mà một resource hỗ trợ.
- HEAD: Tương tự như HTTP GET, nhưng chỉ trả về metadata của resource mà không trả về nội dung thực tế.
Điều này cho phép ASP.NET Web API dễ dàng xử lý các hoạt động CRUD (Create, Retrieve, Update, Delete) trên các resource của ứng dụng web.
Để xác định một action chỉ chấp nhận request từ một phương thức HTTP cụ thể trong ASP.NET Web API, bạn có thể sử dụng attribute [HttpMethod]
và chỉ định phương thức HTTP mong muốn như sau:
[HttpGet] // chỉ chấp nhận phương thức HTTP GET
public IHttpActionResult GetData()
{
// xử lý yêu cầu
return Ok();
}
[HttpPost] // chỉ chấp nhận phương thức HTTP POST
public IHttpActionResult CreateData()
{
// xử lý yêu cầu
return Ok();
}
[HttpPut] // chỉ chấp nhận phương thức HTTP PUT
public IHttpActionResult UpdateData()
{
// xử lý yêu cầu
return Ok();
}
[HttpDelete] // chỉ chấp nhận phương thức HTTP DELETE
public IHttpActionResult DeleteData()
{
// xử lý yêu cầu
return Ok();
}
Trong ví dụ trên, mỗi action đã được gán một attribute [HttpGet]
, [HttpPost]
, [HttpPut]
, [HttpDelete]
tương ứng với các phương thức HTTP GET, POST, PUT và DELETE tương ứng.
Để gửi dữ liệu JSON từ client lên server trong ASP.NET Web API, bạn có thể sử dụng HTTP POST request và thiết lập header 'Content-Type' là 'application/json'. Dưới đây là một ví dụ về cách gửi dữ liệu JSON từ client lên server:
- Trên client-side, sử dụng JavaScript hoặc jQuery để tạo request POST và thiết lập các thông tin cần thiết:
var data = { name: "John", age: 30 };
var url = "/api/mycontroller/myaction";
$.ajax({
url: url,
type: "POST",
contentType: "application/json",
data: JSON.stringify(data),
success: function(response) {
// Xử lý thành công
},
error: function(error) {
// Xử lý lỗi
}
});
- Trên server-side, tạo một action trong controller để nhận request POST và chuyển đổi dữ liệu JSON thành đối tượng:
[HttpPost]
public IHttpActionResult MyAction([FromBody] JObject data)
{
// Xử lý dữ liệu
string name = data["name"].ToString();
int age = data["age"].ToObject<int>();
// Trả về kết quả
return Ok();
}
Trong ví dụ trên, FromBody
attribute được sử dụng để chỉ định rằng dữ liệu JSON được gửi từ client sẽ được chuyển đổi thành đối tượng JObject
. Bạn có thể sử dụng các đối tượng khác như dynamic
hoặc tạo một lớp mô hình dữ liệu tùy chỉnh và sử dụng nó thay vì JObject
.
Trong ASP.NET Web API, có thể trả về dữ liệu JSON từ server về client bằng cách sử dụng lớp HttpResponseMessage và phương thức Json của lớp JsonConvert trong thư viện Newtonsoft.Json.
Dưới đây là ví dụ về cách trả về dữ liệu JSON từ server về client trong ASP.NET Web API:
-
Import namespace:
using Newtonsoft.Json; using System.Net; using System.Net.Http; using System.Web.Http;
-
Tạo một API controller và triển khai phương thức trả về dữ liệu JSON:
public class DataController : ApiController { [HttpGet] public HttpResponseMessage GetData() { // Đối tượng dữ liệu cần trả về var data = new { Name = "John", Age = 30 }; // Chuyển đổi đối tượng dữ liệu thành chuỗi JSON string jsonData = JsonConvert.SerializeObject(data); // Tạo một đối tượng HttpResponseMessage với mã trạng thái OK HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK); // Cài đặt nội dung của response là chuỗi JSON đã chuyển đổi response.Content = new StringContent(jsonData, Encoding.UTF8, "application/json"); // Trả về response return response; } }
Ở đây, chúng ta sử dụng phương thức JsonConvert.SerializeObject để chuyển đối tượng dữ liệu thành chuỗi JSON.
-
Cấu hình định tuyến cho API trong file App_Start/WebApiConfig.cs:
public static void Register(HttpConfiguration config) { // Định tuyến cho API controller config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
-
Kiểm tra kết quả bằng cách chạy ứng dụng và gọi API tại đường dẫn: /api/Data/GetData.
Thực hiện xong các bước trên, server sẽ trả về dữ liệu JSON cho client.
Trong ASP.NET Web API, có thể xử lý lỗi bằng cách sử dụng bộ xử lý ngoại lệ và trình xử lý lỗi theo cách tương tự như trong ASP.NET. Dưới đây là một số phương pháp phổ biến để xử lý lỗi trong ASP.NET Web API:
-
Sử dụng trình xử lý ngoại lệ toàn diện (global exception handler): Bằng cách sử dụng bộ xử lý ngoại lệ toàn diện, bạn có thể bắt và xử lý tất cả các ngoại lệ xảy ra trong ứng dụng Web API. Bạn có thể đăng ký một lớp dẫn xuất từ lớp
ExceptionFilterAttribute
và ghi đè phương thứcOnException
để xử lý ngoại lệ. -
Sử dụng trình xử lý ngoại lệ cụ thể cho từng phương thức API: Bạn có thể đánh dấu các phương thức API cụ thể bằng cách sử dụng
ExceptionHandlerAttribute
và ghi đè phương thứcOnException
để xử lý ngoại lệ chỉ định cho phương thức đó. -
Sử dụng trình xử lý lỗi HTTP: ASP.NET Web API cung cấp trình xử lý lỗi HTTP mặc định (
HttpError
) để xử lý và trả về thông tin lỗi cho khách hàng. Bạn có thể sử dụng các phương pháp nhưCreateErrorResponse
,Add
,Clear
,... để xây dựng thông điệp lỗi và trả về cho khách hàng. -
Sử dụng hệ thống theo dõi và ghi nhật ký (logging system): Bạn có thể sử dụng các thư viện ghi nhật ký như
log4net
,NLog
hoặc hệ thống ghi nhật ký tích hợp sẵn của ASP.NET để ghi lại và giám sát các sự kiện lỗi trong ứng dụng.
Ngoài ra, bạn cũng nên đảm bảo rằng các cài đặt và thông báo lỗi được xử lý một cách an toàn và bảo mật, tránh để lộ thông tin quan trọng như thông tin xác thực hoặc chi tiết kỹ thuật của ứng dụng.
Để thêm authentication và authorization trong ASP.NET Web API, bạn có thể sử dụng các phương pháp sau:
-
Authentication:
- Bạn có thể sử dụng ASP.NET Identity để xác thực người dùng. Điều này cho phép bạn quản lý người dùng và cung cấp chức năng đăng nhập và đăng ký trong ứng dụng của bạn.
- Bạn cũng có thể sử dụng các phương thức xác thực bên ngoài như OAuth hoặc OpenID Connect để xác thực người dùng thông qua các dịch vụ bên ngoài như Facebook, Google, Twitter, vv.
-
Authorization:
- Bạn có thể sử dụng Attribute-based Authorization để gắn các attribute như [Authorize] lên các controller hoặc action trong controller. Điều này sẽ yêu cầu người dùng được xác thực trước khi truy cập vào các API này.
- Bạn cũng có thể sử dụng Policy-based Authorization để định nghĩa các chính sách xác thực theo logic phức tạp và áp dụng chúng vào các API cụ thể.
- Sử dụng Role-based Authorization để kiểm tra vai trò của người dùng và cho phép truy cập vào các API dựa trên quyền của họ.
Bạn có thể cấu hình authentication và authorization trong file Startup.cs của ứng dụng của bạn.
Để tạo unit test cho một controller trong ASP.NET Web API, bạn có thể tuân theo các bước sau:
- Tạo một dự án unit test trong cùng solution với dự án chứa controller.
- Cài đặt các gói NuGet sau nếu chưa có:
- NUnit - Một framework cho unit testing
- Moq - Một thư viện mocking để thay thế các phụ thuộc
- Tạo một class unit test mới và viết các unit test cho controller. Dưới đây là một ví dụ cho việc tạo unit test cho một controller có tên là "ValuesController":
using NUnit.Framework;
using Moq;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Hosting;
using System.Web.Http.Routing;
using YourWebApiProject.Controllers;
using YourWebApiProject.Models;
namespace YourUnitTestProject
{
[TestFixture]
public class ValuesControllerTests
{
private Mock<IYourRepository> repositoryMock;
private ValuesController controller;
[SetUp]
public void Setup()
{
repositoryMock = new Mock<IYourRepository>();
controller = new ValuesController(repositoryMock.Object);
controller.Request = new HttpRequestMessage();
controller.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());
controller.Request.Properties.Add(HttpPropertyKeys.HttpRouteDataKey, new HttpRouteData(new HttpRoute()));
}
[Test]
public void Get_ReturnsValuesFromRepository()
{
// Arrange
var expectedValues = new List<string> { "value1", "value2" };
repositoryMock.Setup(r => r.GetValues()).Returns(expectedValues);
// Act
var response = controller.Get();
var values = response.Content.ReadAsAsync<List<string>>().Result;
// Assert
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
Assert.AreEqual(expectedValues, values);
}
[Test]
public void Post_CallsRepositoryToAddValue()
{
// Arrange
var newValue = "value3";
repositoryMock.Setup(r => r.AddValue(newValue));
// Act
var response = controller.Post(newValue);
// Assert
repositoryMock.Verify(r => r.AddValue(newValue), Times.Once);
}
}
}
Trong ví dụ trên, chúng ta sử dụng thư viện Moq để mock repository và kiểm tra các phương thức được gọi đúng cách trong các phương thức điều khiển của controller. Chúng ta cũng sử dụng framework NUnit để tạo và thực thi unit test. Bắt đầu từ NUnit version 3, NUnit cung cấp một bộ thành phần tích hợp sẵn cho ASP.NET Web API để viết và chạy các unit test cho controller. Bạn có thể tham khảo thêm về cách sử dụng bộ thành phần này trên trang web chính thức của NUnit.
50 câu hỏi và câu trả lời phỏng vấn API Web Asp.Net (2024)
1 week ago WEB 4 days ago · 1) API Web là gì? WebAPI là một framework giúp bạn xây dựng/phát triển các dịch vụ HTTP. 2) Tại sao cần có API Web? Có thể sử dụng dịch vụ RESTful bằng WCF …
Câu hỏi phỏng vấn ASP.NET Web API | Phong-Van.Com
1 week ago WEB Câu hỏi phỏng vấn ASP.NET Web API | Phong-Van.Com. ... 1 week ago WEB 3 days ago WEB Top 20 câu hỏi phỏng vấn ASP.NET Core trong năm 2020. 1 week ago WEB Feb …
50 Asp.Net Web API Interview Questions and Answers (2024)
1 day ago What is Web API? WebAPI is a framework which helps you to build/develop HTTP services.Why is Web API required? Is it possible to use RESTful services using WCF? Yes, we can … Why select Web API? It is used to create simple, non-SOAP-based HTTP Services. It is … Is it right that ASP.NET Web API has replaced WCF? It’s a not at all true that ASP.NET … What are the advantages of Web API? Advantages of Web API are: OData. Filters. Content … See full list on guru99.com
› Estimated Reading Time: 9 mins
Hơn 50 câu hỏi và câu trả lời phỏng vấn ASP.NET (2024)
1 week ago WEB cập nhật 10 Tháng hai, 2024. Dưới đây là các câu hỏi và câu trả lời phỏng vấn ASP.NET dành cho những ứng viên mới ra trường cũng như có kinh nghiệm để có được công …
Câu hỏi phỏng vấn ASP.NET Web API từ fresher đến senior dành …
6 days ago WEB Thách thức mọi câu hỏi phỏng vấn. dành cho lập trình viên. 6315 câu hỏi phỏng vấn Full-Stack, Coding & System Design Interview. Câu hỏi Global. Tải xuống Ebook cẩm nang …
Câu hỏi phỏng vấn ASP.NET từ fresher đến senior dành cho lập …
6 days ago WEB Top 52 câu hỏi phỏng vấn về ASP.NET. ... ASP.NET Web API (32) Vue.js (30) Ionic (29) Redis (26) IOS (25) WebSockets (25) Mongodb (23) Design pattern (23) GraphQL (22) …
29 câu hỏi phỏng vấn ASP.NET Web API - PhongvanIT.com
1 week ago WEB Các câu hỏi phỏng vấn ASP.NET Web API
TOP 23+ câu hỏi phỏng vấn .NET thường gặp - cập nhật 2023
1 week ago WEB Sep 22, 2023 · Cú pháp của ASP.NET thường bao gồm file HTML. Tuy nhiên, tệp ASP có thể chứa tập lệnh máy chủ có dấu phân cách. Một ví dụ về “Helloworld câu hỏi phỏng …
lap trinh asp.net: câu hỏi phỏng vấn thường gặp - VietnamWorks
1 week ago WEB Các câu hỏi thường gặp khi phỏng vấn vị trí Kỹ sư phát triển phần mềm. Các câu hỏi thường gặp khi phỏng vấn vị trí Nhân viên kiểm định chất lượng phần mềm tự động. …
Top 20 câu hỏi phỏng vấn ASP.NET Core trong năm 2020
3 days ago WEB Feb 8, 2020 · Top 20 câu hỏi phỏng vấn ASP.NET Core trong năm 2020. ... ASP.NET Core Web APIs toàn tập. Mẹo Microsoft Visual Studio. Mẹo Visual Studio Code ... Import file …
Những câu hỏi phỏng vấn IT Asp.net/Asp.net MVC - ITDEV
6 days ago WEB Feb 25, 2023 · Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng thành ba thành phần chính: model, view và controller. Nền tảng ASP.NET MVC giúp cho …
Thẻ ghi nhớ: câu hỏi phỏng vấn asp.net | Quizlet
6 days ago WEB ASP.NET Web API là gì và nó được sử dụng như thế nào? ASP.NET Web API là một framework để xây dựng các dịch vụ web RESTful. Nó được sử dụng để tạo ra các …
Tổng hợp 500+ câu hỏi phỏng vấn Asp.net Core - Phong-Van.com
3 days ago WEB Tổng hợp 500+ câu hỏi phỏng vấn .Net Core - Phong-Van.com. 3 days ago WEB Top 20 câu hỏi phỏng vấn ASP.NET Core trong năm 2020. 1 week ago WEB Feb 8, 2020 · Tạo …
Những câu hỏi phỏng vấn ASP.NET MVC và hướng ... - Devwork
1 week ago WEB Nov 16, 2022 · Razor View Engine là bản cập đầu tiên mang tính chất chính thức dùng để hiển thị HTML trong MVC 3. Razor View Engine được thiết kế đặc biệt dành cho View …
19 câu hỏi phỏng vấn Asp.net Core - PhongvanIT.com
2 days ago WEB 19 câu hỏi phỏng vấn Asp.net Core. 1. Startup class trong ASP.NET Core là gì? 2. Tag-helper trong Asp.net Core là gì? 3. Làm để để thiết lập Session trong Asp.net Core? 4.
77 câu hỏi phỏng vấn Asp.net/Asp.net MVC - PhongvanIT.com
2 days ago WEB Các câu hỏi phỏng vấn Asp.net/Asp.net MVC
Top 20 Câu Hỏi Phỏng Vấn API Testing Phổ Biến Nhất - Glints
2 days ago WEB Jul 17, 2023 · Top 20 Câu Hỏi Phỏng Vấn API Testing Phổ Biến Nhất. API Testing đang dần trở thành một vị trí không thể thiếu trong các team kỹ thuật và phát triển phần mềm. …
Tổng hợp 500+ câu hỏi phỏng vấn .Net Core - Phong-Van.com
1 week ago WEB Tổng hợp 500+ câu hỏi phỏng vấn .Net Core - Phong-Van.com. 1 week ago WEB Top 20 câu hỏi phỏng vấn ASP.NET Core trong năm 2020. 1 week ago WEB Feb 8, 2020 · Tạo …
Câu hỏi phỏng vấn Asp.net/Asp.net MVC | Phong-Van.Com
1 week ago WEB Tổng hợp 500+ câu hỏi phỏng vấn Asp.net Core - Phong-Van.com. 1 week ago WEB 1 week ago WEB Tổng hợp 500+ câu hỏi phỏng vấn .Net Core - Phong-Van.com. 1 day …
Câu hỏi và câu trả lời phỏng vấn API REST hàng đầu
1 week ago WEB Oct 14, 2022 · Tóm lại. Để kết luận, bài viết trên chia sẻ các câu hỏi phỏng vấn API REST. Nó bao gồm tất cả các câu hỏi phỏng vấn API REST dành cho những người sắp ứng …
Những Câu Hỏi Phỏng Vấn Với C# .NET Thường Gặp
2 days ago WEB Phương thức. Ý nghĩa. ToString () Trả về kiểu chuỗi của đối tượng (chuyển từ kiểu dữ liệu nào đó về kiểu chuỗi) GetHashCode () Trả về mã băm của đối tượng. Equals. So sánh …
ASP.NET Web API là gì? - phong-van.com
1 week ago WEB Giới thiệu về ASP.NET Web API - Code Lean. 4 days ago WEB Feb 5, 2020 · ASP.NET Web API là một framework (khung làm việc), được cung cấp bởi Microsoft, giúp dễ …
50 câu hỏi phỏng vấn thường gặp & cách trả lời hiệu quả
5 days ago WEB Phỏng vấn xin việc có thể là thử thách lớn, đặc biệt khi đối mặt với những câu hỏi hóc búa. Nhưng đừng lo, bài viết này sẽ giúp bạn chuẩn bị cho 50 câu hỏi phỏng vấn thường gặp …
FAQs - Câu hỏi thường gặp về phỏng vấn?
Những câu hỏi thường gặp để phản ánh chính sách và quy trình cụ thể của bạn hoặc để phù hợp với mục đích cụ thể của phỏng vấn.