สำหรับการกลับมาจากคอนโทรลเลอร์ Web API 2 ฉันสามารถส่งคืนเนื้อหาพร้อมการตอบกลับหากการตอบสนองตกลง (สถานะ 200) ดังนี้:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
หากเป็นไปได้ฉันต้องการใช้ประเภทผลลัพธ์ที่มีอยู่ภายในที่นี่เมื่อเป็นไปได้: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
คำถามของฉันคือสำหรับการตอบกลับประเภทอื่น (ไม่ใช่ 200) ฉันจะส่งคืนข้อความ (สตริง) ด้วยได้อย่างไร ตัวอย่างเช่นฉันสามารถทำสิ่งนี้:
public IHttpActionResult Get()
{
return InternalServerError();
}
แต่ไม่ใช่:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
เป็นการดีที่ฉันต้องการให้เป็นแบบทั่วไปเพื่อให้ฉันสามารถส่งข้อความกลับด้วยการใช้งานใด ๆ ของ IHttpActionResult
ฉันต้องทำสิ่งนี้หรือไม่ (และสร้างข้อความตอบกลับของตัวเอง):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
หรือมีวิธีที่ดีกว่า
ApiController.InternalServerError
msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx ได้