मेरी एपीआई क्रियाओं में से एक में (PostOrder
) I एपीआई (CancelOrder
) में एक और कार्रवाई का उपभोग कर सकता है। दोनों एक JSON स्वरूपित ResultOrderDTO
प्रकार, दोनों कार्यों के लिए एक ResponseTypeAttribute
के रूप में स्थापित है, जो इस तरह दिखता है वापसी: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; }
}
मैं क्या जरूरत है पढ़ रहा है/CancelOrder
से ResultOrderDTO
जवाब पार्स, ताकि मैं के लिए प्रतिक्रिया के रूप में उपयोग कर सकते हैं PostOrder
।
// 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)));
}
जब मैं डिबगर उपयोग करते हैं, मैं देख सकता हूँ कि ResultOrderDTO
यह वहाँ कहीं है जवाब में (Content
तरह दिखता है) के रूप में नीचे पिक में दिखाया गया है: इस तरह मेरे PostOrder
कोड दिखता है:
लेकिन cancelResponse.Content
मौजूद नहीं है (या इससे पहले कि मैं कुछ और करने के लिए मेरी प्रतिक्रिया डाली कम से कम मैं यह करने के लिए पहुँच नहीं है) और मैं कैसे पढ़ा/इसपार्स करने के लिए के बारे में पता नहीं है 210। कोई उपाय?
विश्वास नहीं कर सकता कि मैंने यह कोशिश नहीं की। धन्यवाद। – Antrim