use*_*448 2 ajax error-handling jquery spring-mvc
我的问题正如标题中提到的那样.我有Spring webservices返回JSON响应.以下哪项是处理错误的优雅方式:
发送例如JSON响应设置.result ="failure"然后在jquery的success函数中,检查'result'的值
我想了解这两种方法的利弊.
谢谢
通过一个success或一些其他类似标志报告请求处理中的错误是开发Web服务的标准做法.也就是说,如果您的请求成功,则JSON响应中的该标志表示success,否则表示failure.properties您的JSON响应中可能有其他可以携带适当的消息,而另一个字段可以在请求成功时携带结果数据.
以这种方式开发服务时,Web服务的使用者不再依赖于自定义异常处理.使用您的第一种方法,他们必须自己解释HTTP代码并根据该方法确定行动方案.这总是会在客户端产生大量错误处理代码(可能在使用服务的每个地方都会重复).相反,使用简单的错误标志,他们只需检查标志并确定请求是否成功,并显示适当的消息或采取其他一些操作.
我参与了一些Web服务(开发和消费)的处理,我从未处理过依赖于errorAjax调用处理程序的Web服务.
第一种方法的优点是,您现在可以真正地将成功请求与不成功请求分开.但是,在这种情况下,请确保您自己在服务器端处理这些异常,并根据这些异常返回适当的状态代码.如果不这样做,大多数异常将导致HTTP错误代码,500并且您的Web服务客户端可能很难以某种通用方式解释它.
有关在API中处理错误的正确方法的小讨论,请参见此处.