让我先解释一下我在做什么:
我正在编写一个 API,它在成功或失败时返回 JSON,并且返回的 JSON 中有一个status
变量,它让最终用户知道它在哪里 asuccess
或failure
.
现在,如果一个 API 期望提交一些参数,那么如果该参数是一个双精度并且提交的值是一个字符串,那么我必须返回带有status
false 和错误消息的JSON errorlist
。
默认情况下,介于两者之间的拦截器,未能将其设置String
为某些Number
返回Action.INPUT
结果而不执行操作方法。
我尝试用注释方法,@SkipValidation
但方法代码仍然没有执行,它INPUT
直接从拦截器返回(我猜)。
默认情况下,我在 action 方法中将状态定义为true
then,根据条件,如果需要,我将其设置为 false,但是由于现在从未执行过该操作,因此返回的 JSON 响应的状态为 true,并且errorlist
为空(因为该操作未执行,用于将错误添加到列表中)。
操作代码:
@SkipValidation
public String saveFund() {
//some code which is never executed when Double variable is a string
return SUCCESS;
}
正在使用的拦截器堆栈:
<interceptors>
<interceptor name="nlogin" class="interceptors.AdminInterceptor"/>
<interceptor-stack name="loginStack">
<interceptor-ref name="nlogin"/>
<!--<interceptor-ref name="store">-->
<!--<param name="operationMode">AUTOMATIC</param>-->
<!--</interceptor-ref>-->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack"/>