Trong một trong các hành động API của tôi (PostOrder
) I có thể đang sử dụng một hành động khác trong API (CancelOrder
). Cả hai trở về một JSON định dạng ResultOrderDTO
loại, thiết lập như là một ResponseTypeAttribute
cho cả hành động, trông như thế này:Cách đọc/phân tích Nội dung từ OkNegotiatedContentResult?
public class ResultOrderDTO
{
public int Id { get; set; }
public OrderStatus StatusCode { get; set; }
public string Status { get; set; }
public string Description { get; set; }
public string PaymentCode { get; set; }
public List<string> Issues { get; set; }
}
Những gì tôi cần được đọc/phân tích cú pháp ResultOrderDTO
phản hồi từ CancelOrder
, vì vậy mà tôi có thể sử dụng nó như là câu trả lời cho PostOrder
. Đây là những gì đang PostOrder
của tôi trông giống như:
// Here I call CancelOrder, another action in the same controller
var cancelResponse = CancelOrder(id, new CancelOrderDTO { Reason = CancelReason.Unpaid });
if (cancelResponse is OkNegotiatedContentResult<ResultOrderDTO>)
{
// Here I need to read the contents of the ResultOrderDTO
}
else if (cancelResponse is InternalServerErrorResult)
{
return ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, new ResultError(ErrorCode.InternalServer)));
}
Khi tôi sử dụng trình gỡ lỗi, tôi có thể thấy rằng ResultOrderDTO
nó là có đâu đó trong phản ứng (trông giống như Content
) như trong pic dưới đây:
nhưng cancelResponse.Content
không tồn tại (hoặc ít nhất là tôi không có quyền truy cập vào nó trước khi tôi đúc phản ứng của tôi để cái gì khác) và tôi không có ý tưởng về làm thế nào để đọc/phân tíchnày 210. Bất kỳ ý tưởng?
Không thể tin rằng tôi đã không thử điều này. Cảm ơn. – Antrim