Je souhaite renvoyer un objet json depuis le filtre d'action wei api. Comment puis-je y parvenir?Asp.net Web API - Retourne les données de l'actionfilter
Je peux renvoyer l'objet de l'action mais j'ai besoin de renvoyer certaines données du filtre d'action sous certaines conditions.
Merci d'avance.
Edit: 1 Lorsque j'ai changé le code comme le suivant, le navigateur de charger encore sans réponse et se termine par erreur de délai d'attente.
public class ValidationActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
var modelState = actionContext.ModelState;
if (!modelState.IsValid)
{
List<string> arr = new List<string>();
foreach (var key in modelState.Keys)
{
var state = modelState[key];
if (state.Errors.Any())
{
string er = state.Errors.First().ErrorMessage;
if (!string.IsNullOrEmpty(er))
{
arr.Add(er);
}
}
}
var output = new Result() { Status = Status.Error.ToString(), Data = null, Message = arr };
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.BadRequest, output, actionContext.ControllerContext.Configuration.Formatters.JsonFormatter);
}
}
}
Merci pour votre réponse. S'il vous plaît voir mon edit. Encore un problème –
Comment faire ceci dans le noyau .net? –
Pour moi, la solution ci-dessus n'a pas fonctionné. Le code dans l'action était toujours exécuté. –