[WebAPI-NET5] #1 - Tạo API đầu tiên
Вставка
- Опубліковано 6 вер 2024
- [WebAPI-NET5] #1 - Tạo API đầu tiên
Giới thiệu series phổ biến kiến thức về Xây dựng Web API trên nền tảng .NET Core 5 (.NET 5). Trong bài này, tôi giới thiệu:
- Cách tạo mới Project WebAPI .NET Core 5
- Cách tạo mới 1 API với đầy đủ phương thức GET, POST, PUSH, DELETE
📘Slide giới thiệu: drive.google.c...
📘Source code github.com/hie...
#aspcore #webapi #hienlth #csharp
Giọng nói, cách nói dễ thương quá à. Ko muốn học cũng phải học.
mê quá trời ơi thích code liền
quá hay
Cám ơn anh rất nhiều
Cám ơn chủ topic đã chia sẻ thông tin bổ ích .
Trong video trên lúc đặt Controller HangHoa tôi có đặt tên dư 1 chữ l (trong video HangHoaControlller) nên lúc chạy các endpoint nó ra luôn dạng /api/HangHoaControlller. Các bạn lưu ý giúp.
sao mình chạy không ra Swagger bạn, chỉ ra chữ thôi như [{"date":"2022-11-10T16:32:28.6405493+07:00","temperatureC":52,"temperatureF":125,"summary":"Bracing"}. Mình làm gì để hiển thị ra Swagger bạn?
@@vanthiennguyen4135 bạn check lại version bạn đang xài .NET Core 5 hay 6.0.
Nếu là .NET COre 6 Web APi ở file Program.cs đã có sẵn khai báo Swagger:
builder.Services.AddSwaggerGen();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
còn .NET Core 5 bạn nên cài thư viện và khai báo ở StartUp.cs:
1/ Add Swagger trong phần ConfigureServices
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyWebApiApp", Version = "v1" });
});
2/ Sử dụng swagger ở Configure
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyWebApiApp v1"));
}
@@HIENLTH hình như video bạn thiếu vài hướng dẫn để cài thêm hay sửa lỗi nữa
video rất bổ ích, cảm ơn anh. e đang làm bên FE đang muốn tìm hiểu về be
1 người thầy , rất hay !
Mik dùng .net 7 mong là ko gặp vấn đề gì quá lớn khi học khóa này 🐥🐥
Rất tuyệt vời
Quá hay. Cảm ơn anh
@quanviet1163 Vậy thì phải xem lại cấu trúc thôi á bạn. Mỗi version mỗi khác á
So great ! thank you from Canada.
nội dung trình bày dễ hiểu, cám ơn anh !
ung ho kenh
Quá là hay luôn.
hay lắm thầy ơi
Cảm ơn thầy ạ
cảm ơn sư phụ
hay ạ
tks
tuyệt :D em làm từ .net 6 :D hơi lỗ i1 tí nhưng đc rồi
[Video update] Tạo API trên nền tảng .NET Core 6: ua-cam.com/video/dxNLd5w006s/v-deo.html
Mời các bạn xem qua.
phần update, mình đã tìm theo id rồi sao còn phải check if nữa ạ, e chưa hiểu lắm
cho tôi hỏi, sao tôi tạo new project lại không có file startu.cs. tôi dùng Net8
Từ NET 7 trở lên là hết file StartUp.cs rồi ạ.
@@HIENLTH vậy code sẽ sửa ntn vậy anh
@@vubui365 mình có update phiên bản .NET Core 6 bạn xem thử: ua-cam.com/video/dxNLd5w006s/v-deo.html
các dự án thực tế khi sử dụng Entity thì theo hướng DB First hay CodeFirst vậy thầy ?
Chào bạn
Tùy theo mục đích sẽ chọn loại tương ứng. Nếu đã có sẵn database thì dùng DB first, còn nếu xây dựng từ đầu và muốn quản lý thay đổi database bằng code thì dùng code first.
Thầy ơi cho em hỏi sao em New Project xong thì nó không có Startup vậy ạ. Mong thầy giúp đỡ ạ
dung visual bản 2022 thay đổi mà, của thầy trên là bản 2019 nó khác hoàn toàn
mình cũng đang thắc mắc cái đó, bạn giải quyết được vấn đề này chưa bạn
anh ơi,muốn học theo phần này của mình thì cần có lượng kiến thức c# như nào vậy a
xong 16 bài này chiến tốt api netcore được chưa a?
Học API là phải học thêm FrontEnd Framework mới bắn ra giao diện được phải k anh
Đúng rồi bạn. Dự định mình giới thiệu reactjs mà chưa có thời gian. Ban ngày vào công ty nên rãnh buổi tối hoặc cuối tuần mới làm video
@@HIENLTH Ok anh, e coi một số kênh. Dạy react mà khó hiểu quá. Coi kênh anh dạy Netcore hay dễ hiểu, e chờ a ra khóa react
Thầy ơi, em mới tạo project apt và chạy thử thì nó hiện lên lỗi bên dưới. Nhờ thầy chỉ em cách sửa ạ:
HTTP Error 500.0 - ANCM In-Process Handler Load Failure
Troubleshooting steps:
Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect
Có cần học những gì trước khi học khóa này ko ạ
Đoạn chỗ Edit API: Đã get hangHoa theo id truyền vào, k có id tương ứng thì trả notFound() còn có thì sẽ update.
Thì sao phải check hangHoa.Mahanghoa == id truyền vào làm gì nữa ạ? Vì lúc mình get ra là đã get theo id rồi? em ko hiểu và thấy hơi bị thừa phải k ạ?
Em cảm ơn ạ?
Chào bạn
Cảm ơn bạn về thắc mắc.
Đúng là chỗ đó có nhầm lẫn 1 tí, thực tình bạn hỏi tôi mới xem lại.
Đúng ta check id truyền trên url có bằng MaHangHoa dưới model truyền trong BODY hay không trước khi check hàng hóa có trong database theo id.
Vậy bạn xóa đoạn mã check hangHoa.Mahanghoa == id và thêm đoạn sau vào đầu nhé (trước khi query lấy hangHoa theo id):
if (Guid.Parse(id) != hangHoaEdit.MaHangHoa){
return BadRequest();
}
Thầy cho em hỏi là em dùng NET 6.0 thì có làm y chang bên trên được không ạ? Cái khúc gán
Mahanghoa = Guid.NewGuid() em gán nó báo Cannot implicitly convert type 'System.Guid' to 'int'
cái này không liên quan gì tới NET 6.0 hay 5.0. Do ở bên class HangHoa bạn chưa đổi biến MaHangHoa sang kiểu Guid á
@@visugar1894 à mình ra rồi :V cảm ơn bạn nhé
h là .net 6 có dùng dc .net 5 khong a
Chào bạn,
Về cơ bản vẫn có thể tạo và sử dụng project dạng .NET 5 được, tuy nhiên bạn cân nhắc nếu tạo project mới từ đầu thì nên sử dụng .NET Core 6 luôn vì nó là bản LTS (Long-term support).
Mình sẽ update phiên bản net core 6, plan trong tuần tới sau 17/10/2022.
Hiện tại mình đã update version 6 bắt đầu từ video này: ua-cam.com/video/dxNLd5w006s/v-deo.html
cái check id != hangHoa.MaHangHoa thì ở trên hangHoa anh lọc ra bằng id thì tất nhiên nó phải bằng nhau chứ anh, phải so sánh vs cái nhập ở dưới là hanghoaEdit phải ko anh
đơn giản mà hay quá thầy ơi. cảm ơn thầy
với việc file starup.cs bị xóa trong vs 2022 nhưng trong vid thầy vẫn có và dùng thì bạn giải quyết thế nào vậy ạ ?