Onefile API ด้วย .Net 6 และ Docker ที่สาย Minimal ต้องอ่าน!

หลายท่านคงคุ้นเคยกับ  Framework ตระกูล .NET มาช้านาน ถือเป็น Enterprise Framework ที่ใช้กันอย่างกว้างขวางและหลายบริษัท และตัว Framework ก็พัฒนามาอย่างต่อเนื่อง ทั้งการเพิ่มประสิทธิภาพ และเรื่องของการ Support Platform อื่นๆ และในปัจจุบัน .NET ก็พัฒนามาถึง .NET 6 ที่รองรับการพัฒนา Application ทั้งใน Web Windows รวมถึง Mobile ทั้ง Android และ IOS อีกด้วย

ถ้าใครคุ้นชินกับการสร้าง Project .Net อาจจะเจอปัญหาว่า File Project แม้จะเป็นโปรแกรม Hello Word เล็กๆ จะประกอบด้วย File ต่างๆมากมายอยู่ภายใน บางครั้งก็ค่อนข้างจะต้องมาทำความเข้าใจพอสมควร ต่างจากพวกตระกูล Nodejs ที่สามารถใช้ Express สร้าง API ได้จาก File Index.js เพียง File เดียว

Minimal API ใน .NET 6

.NET 6 เป็น Version แรกที่เราสามารถสร้าง API ได้จาก File เพียง File เดียว เรียกได้ว่า Minimal เอามากๆ

var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.MapGet(“/”, () => “Hello World!”);

app.Run(“http://localhost:3000″);

ตัวอย่างด้านบน ถ้าเราเข้า http://localhost:3000  จะตอบว่า Hello World นั่นเอง นอกจากนั้นแล้วเรายังสามารถใช้

app.MapPost()

app.MapPut()

app.MapDelete()

เพื่อรองรับ Method ประเภทอื่นๆได้อีกด้วย

โดยเราสามารถ Deploy คู่กับ Docker ได้ตามปกติ โดย Dockerfile จะหน้าตาประมาณนี้ สามารถสร้างอยู่ที่เดียวกับ Solution ได้เลย (.sln)

ทำการสั่ง Build Image ด้วยคำสั่ง

docker build . -t dotnetexample

จากนั้นสั่ง Run Image ด้วยคำสั่ง (เราจะ Map port 3000:80)

docker run –name dotnetexample -p 3000:80 -d dotnetexample

เพียงเท่านี้เราก็จะได้  Webservice สาย Minimal มาไว้ในครอบครอง ส่วนใครสนใจสามารถอ่าน Document เพิ่มเติมได้ที่

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0

อยากให้ทุกท่านได้ลองเทคโนโลยีใหม่กันเยอะๆนะครับโลกเรามันเปลี่ยนไปใวมากสิ่งใหม่ๆ มีการพัฒนาอย่างไม่หยุดครับ สำหรับท่านที่สนใจบริการของ Cloud HM สามารถติดต่อเราได้ผ่านช่องทางนี้นะครับ ขอบคุณครับ

— Cloud HM