고객에게 오류를 반환하는 방법에 대해 우려가 있습니다.
오류가 발생 하면 HttpResponseException을 발생시켜 즉시 오류를 반환합니까?
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
.