79237347

Date: 2024-11-29 14:01:56
Score: 0.5
Natty:
Report link

To enable CORS in case of BadRequestObjectResult I found the following solution.

Create a custom attribute:

public class AddAccessControlAllowOriginAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext context)
    {
        if (!(context.Result is JsonResult jsonResult))
        {
            var header = "Access-Control-Allow-Origin";
            var value = "http://localhost:5173"; // my front end origin
            if (context.HttpContext.Response.Headers.ContainsKey(header))
                context.HttpContext.Response.Headers[header] = value;
            else
                context.HttpContext.Response.Headers.Add(header, value);
        }
        base.OnResultExecuting(context);
    }
}

Apply to all controllers as follows:

[HttpPost]
[AddAccessControlAllowOriginAttribute]
public JsonResult CreateEdit(Company item)
{
    // ...
}
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: bluveneziano