วันเสาร์ที่ 22 กันยายน พ.ศ. 2561

การสร้า้ง ASP.NET WEB API #4 เรื่อง Action Filter

สวัสดีครับหลังจากที่ได้แชร์
- Flow การทำงานของ ASP .NET WEB API
(http://cakeknowledgeblogs.blogspot.com/2018/07/aspnet-web-api-2-pipeline.html)

- การสร้าง ASP .NET WEB API
(http://cakeknowledgeblogs.blogspot.com/2018/07/aspnet-web-api.html)

- การสร้าง ASP .NET WEB API #2
(http://cakeknowledgeblogs.blogspot.com/2018/08/aspnet-web-api-2.html)



- การสร้าง ASP .NET WEB API #3 เรื่อง Model Binding

(http://cakeknowledgeblogs.blogspot.com/2018/08/aspnet-web-api-3-model-binding.html)


วันนี้เลยมาสร้าง ASP.NET WEB API#4 ในหัวข้อเรื่อง Action Filter กันครับ


"แล้ว Action Filter คืออะไร"

Action Filter จะเป็นส่วนทำการตรวจสอบข้อมูลที่รับเข้ามาว่าถูกหรือไม่ เช่น ข้อมูลต้องเป็นตัวเลข, ต้องมีค่าไม่เกิน 10 เป็นต้น ก่อนที่จะส่งข้อมูลให้ Action Method ครับ(สามารถดูรายละเอียดเพิ่มเติมได้จาก หัวข้อของ Flow การทำงานของ ASP .NET WEB API http://cakeknowledgeblogs.blogspot.com/2018/07/aspnet-web-api-2-pipeline.html)


เพื่อให้เข้าใจง่ายผมขอแชร์เป็นวีดีโอ โดย Code ส่วนของการ ActionFilter จะมีดังนี้ครับ

public class ValidateFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
        {

            if (!actionContext.ModelState.IsValid)
            {
                var errors = (from s in actionContext.ModelState
                              where s.Value.Errors.Count > 0
                              select new KeyValuePair<string, string>(s.Key, s.Value.Errors.First().ErrorMessage)).ToArray();

                actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.BadRequest, errors);
            }
         
        }
}


โดยจะเป็นการตรวจสอบว่าข้อมูลที่รับเข้ามาค่าที่ได้ถูกต้องหรือไม่ โดยสามารถเขียนได้ดังวีดีโอด้านล่างครับ













เอกสารอ้างอิง

https://blog.duc.as/2012/02/27/validating-your-model-with-web-api/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น