多数のオブジェクトが Web API コントローラーに送信され、データベースに挿入される場合、いくつかは成功し、いくつかは失敗する可能性がある場合、どのような応答を与えるのが最適ですか? 通常の HTTP 応答では十分ではないと思います。何が成功し、何が成功しなかったかを示す JSON 文字列を返す方法を見つけたほうがよいでしょうか? もしそうなら、どうすればいいですか?
私の投稿コントローラーを以下に示します。
助けてくれてありがとう、
マーク
public HttpResponseMessage PostBooking(Booking[] bookings)
{
if (ModelState.IsValid)
{
foreach (var booking in bookings)
{
// check if there are any bookings already with this HID and RID...
var checkbooking = db.Bookings.Where(h => h.HID == booking.HID && h.RID == booking.RID).ToList();
// If so, return a response of conflict
if (checkbooking.Count != 0 || checkbooking.Any())
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.Conflict));
}
else
{
// If not add the booking to the database and return a response of Created
db.Bookings.Add(booking);
db.SaveChanges();
}
}
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
return response;
}
else
{
// Model is not valid, so return BadRquest
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}