- 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/