যেভাবে আমরা ক্লায়েন্টকে ত্রুটি ফিরিয়ে দিচ্ছি তাতে আমার উদ্বেগ রয়েছে।
আমরা কোনও ত্রুটি পেলে আমরা কি এইচটিটিপি রেসপনস এক্সেকশনটি ততক্ষণে ফিরে আসি :
public void Post(Customer customer)
{
if (string.IsNullOrEmpty(customer.Name))
{
throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest)
}
if (customer.Accounts.Count == 0)
{
throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest)
}
}
বা আমরা সমস্ত ত্রুটি জমা করি তারপরে ক্লায়েন্টকে ফেরত পাঠাতে:
public void Post(Customer customer)
{
List<string> errors = new List<string>();
if (string.IsNullOrEmpty(customer.Name))
{
errors.Add("Customer Name cannot be empty");
}
if (customer.Accounts.Count == 0)
{
errors.Add("Customer does not have any account");
}
var responseMessage = new HttpResponseMessage<List<string>>(errors, HttpStatusCode.BadRequest);
throw new HttpResponseException(responseMessage);
}
এটি কেবলমাত্র একটি নমুনা কোড, এটি বৈধতা ত্রুটি বা সার্ভার ত্রুটির কোনও বিষয় নয়, আমি কেবল সর্বোত্তম অনুশীলন, প্রতিটি পদ্ধতির পক্ষে এবং কৌশলগুলি জানতে চাই।
HttpResponseException
ক্লাসের কোনও কন্সট্রাক্টর ওভারলোড পাচ্ছি না যা আপনার পোস্টে উল্লিখিত দুটি প্যারামিটার লাগে - HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest)
যেমনHttpResponseException(string, HttpStatusCode)
ModelState
।