से डेटा लौटाएं मैं वीपी एपीआई एक्शनफिल्टर से एक जेसन ऑब्जेक्ट वापस करना चाहता हूं। मैं इसे कैसे प्राप्त कर सकता हूं?एएसपीनेट वेब एपीआई - एक्शनफिल्टर
मैं ऑब्जेक्ट को कार्रवाई से वापस कर सकता हूं लेकिन मुझे कुछ शर्त पर actionfilter से कुछ डेटा वापस करने की आवश्यकता है।
अग्रिम धन्यवाद।
संपादित करें: 1 जब मैं निम्नलिखित की तरह कोड बदल गया है, ब्राउज़र अभी भी कोई प्रतिक्रिया के बिना लोड हो रहा है और टाइमआउट त्रुटि में समाप्त होता है।
public class MyActionFilterAttribute: ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
actionContext.Response = actionContext.Request.CreateResponse(
HttpStatusCode.OK,
new { foo = "bar" },
actionContext.ControllerContext.Configuration.Formatters.JsonFormatter
);
}
}
निम्नलिखित नियंत्रक कार्रवाई मान लिया जाये:
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);
}
}
}
आपके उत्तर के लिए धन्यवाद। कृपया मेरा संपादन देखें। अभी भी समस्या –
मैं नेट नेट में यह कैसे कर सकता हूं? –
मेरे लिए उपर्युक्त समाधान काम नहीं किया। कार्रवाई में कोड अभी भी निष्पादित किया गया था। –