using log4net;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Common.Http
{
///
/// Helper class to build API responses with string error codes
///
public static class ApiResponseHelper
{
///
/// Build HTTP response with string error code
///
/// Logger instance
/// Request URL
/// Request JSON
/// Error code as string (e.g., "0", "-801")
/// Response message
/// Response data object
/// IActionResult
public static IActionResult BuildResponse(
ILog log,
string url,
string request,
string errorCode,
string message,
object data
)
{
// Create response object with string errorCode
var response = new
{
errorCode = errorCode, // String type
message = message,
data = data
};
// Log the response
string responseJson = JsonConvert.SerializeObject(response);
log.Info($"URL: {url} | Request: {request} | Response: {responseJson}");
// Return as JSON result with proper content type
return new ContentResult
{
Content = responseJson,
ContentType = "application/json",
StatusCode = 200
};
}
}
}