轻松,宁静的应用程序中的程序化错误处理

时间:2018-11-02 13:43:52

标签: java json jboss resteasy

我有一个宁静的Web服务应用程序,它使用JSON并部署在JBosss 6 EA服务器上,该服务器又使用resteasy框架。 resteasy框架会为我验证每个用户请求,如果请求数据错误,则会将错误消息发送回客户端。另外,resteasy将HTTP状态代码设置为400,这不是我想要的。

例如,我在应用程序中定义了枚举MandantCode,该枚举具有三个可能的值(UNIQA,SLV,VVD),并且是请求对象的一部分。如果我通过提供MandantCode一个不存在的值XXX来测试我的应用程序,如下所示:

        "mandant" : { 
            "code": "XXX" 
        }, 

我收到以下错误消息:

JBWEB000065: HTTP Status 400 - org.codehaus.jackson.map.JsonMappingException: Can not construct instance of at.uniqa.slsi.svc.model.Mandant$MandantCode from String value 'XXX': value not one of declared Enum instance names at [Source:.... 

是否可以通过为每个无效字段提供自定义错误消息来以编程方式验证用户请求?我想将正确的HTTP 200状态代码以及描述错误性质的JSON内容结构发送回客户端。

谢谢你和br:Alex

0 个答案:

没有答案