I have existing ASP.Net WEB API
with below output response format ,
I'm converting that project into ASP.NET CORE
.
I have already gone through this link
public class MyClass
{
[JsonProperty("id")]
public long Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
}
// Helper.cs
public class ApiResponse
{
[DataMember(EmitDefaultValue = false)]
[JsonProperty(PropertyName = "data")]
public object Data { get; set; }
public ApiResponse(HttpStatusCode statusCode, object result = null)
{
Data = result;
}
}
// Helper.cs
public class WrappingHandler<T> where T : class
{
public static HttpResponseMessage ResponseHandler(IEnumerable<T> responseObject, HttpRequestMessage request)
{
HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, responseObject);
var newResponse = request.CreateResponse(HttpStatusCode.OK, new ApiResponse(HttpStatusCode.OK, responseObject));
return newResponse;
}
}
// HomeController.cs
public HttpResponseMessage RetriveData(string name)
{
try
{
var mydata = _context.Get(name);
return WrappingHandler<MyClass>.ResponseHandler(mydata, Request);
}
}
// output for asp.net webapi
{
"data": [
{
"id": 32,
"name": "Hi everyone"
}
]
}
Now I'm converting the project to ASP.NET CORE
so I need to change the return type as well from HttpResponseMessage
to IActionResult or
JsonResult` but how do I manage my custom output format changes?
I mean what changes I need to do into WrappingHandler
and ApiResponse
anyhelp?