I am trying to receive a request in WeB API, and the request class type is IEnumurable. I am testing it using postman but always it comes as null value. Below is my code piece: When I removed IEnumurable from the request class, I am able to get the values from POSTMAN.
Controller Code:
[HttpPost]
[Route("PostTotalLossData")]
public IHttpActionResult PostTotalLossData([FromBody]TotalLossReviewedStatusRequest reviewedStatusReq)
{
try
{
if (reviewedStatusReq != null)
{
var result = _iTLTT_BAL.UpdateTotalLossReviewedStatus(reviewedStatusReq);
//return Ok(result);
return Ok(reviewedStatusReq);
}
else
{
Log.Info("Invalid request received, Request : " + reviewedStatusReq);
return Ok("Invalid request");
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
throw ex;
}
}
Request Class:
namespace CTS.NextGen.API.TLTT.Models.Request
{
[Serializable]
public class TotalLossReviewedStatusRequest : IEnumerable<TotalLossReviewedStatus>
{
public List<TotalLossReviewedStatus> totalLossReviewedStatuses { get; set; }
public IEnumerator<TotalLossReviewedStatus> GetEnumerator()
{
return this.totalLossReviewedStatuses.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.totalLossReviewedStatuses.GetEnumerator();
}
}
}
Postman request body:
{
"totalLossReviewedStatuses" : [
{
"n_claimNumber" : "123456678",
"n_damageID" : "123rtyui89",
"b_initiialReviewed" : "12/09/2020",
"b_reviewed" :"Y",
"heloo":"N"
},
{
"n_claimNumber" : "123456678",
"n_damageID" : "123rtyui89",
"b_initiialReviewed" : "12/09/2020",
"b_reviewed" :"Y"
}
]
}
Please help me with this.
Your request body should be array
type instead of object
type. Change the input request body as
[
{
"totalLossReviewedStatuses" : [
{
"n_claimNumber" : "123456678",
"n_damageID" : "123rtyui89",
"b_initiialReviewed" : "12/09/2020",
"b_reviewed" :"Y",
"heloo":"N"
},
{
"n_claimNumber" : "123456678",
"n_damageID" : "123rtyui89",
"b_initiialReviewed" : "12/09/2020",
"b_reviewed" :"Y"
}
]
}
{
..........Other objects. If not needed then remove this object declaration
}
]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.