How can i change the default response message with a custom one in MVC WebApi?
{ "Message": "Authorization has been denied for this request." }
Thanks in advance
This is my custom ResponseModel
public class DefaultResponseModel<T>
{
public string ResponseID { get; private set; }
public DateTimeOffset ResponseDateTime { get; private set; }
public string RequestMethod { get; private set; }
public string IPAddress { get; private set; }
public T Data { get; set; }
public DefaultResponseModel(ApiController controller)
{
ResponseDateTime = DateTimeOffset.Now;
RequestMethod = controller.Request.Method.ToString();
if (controller.Request.Properties.ContainsKey("MS_HttpContext"))
{
var ctx = controller.Request.Properties["MS_HttpContext"] as HttpContextBase;
if (ctx != null)
{
IPAddress = ctx.Request.UserHostAddress;
}
else
{
IPAddress = "--";
}
}
ResponseID = controller.Request.Properties.FirstOrDefault(x => x.Key == "RequestID").Value.ToString();
}
public DefaultResponseModel(HttpRequestMessage Request)
{
ResponseDateTime = DateTimeOffset.Now;
RequestMethod = Request.Method.ToString();
if (Request.Properties.ContainsKey("MS_HttpContext"))
{
var ctx = Request.Properties["MS_HttpContext"] as HttpContextBase;
if (ctx != null)
{
IPAddress = ctx.Request.UserHostAddress;
}
else
{
IPAddress = "--";
}
}
ResponseID = Request.Properties.FirstOrDefault(x => x.Key == "RequestID").Value.ToString();
}
I'd like to use it in the authorize code as you said, becouse i generate a ResponseID and i send it to my response model. I want to use the same model for each response.