我正在使用Scala Play 2.5.x在Scala中构建XML验证函数。如果传入的XML与预期的架构不匹配,我想返回错误。我已经将我的功能分解为下面的伪代码:
def myfunc(): Action[AnyContent] = Action.async(parse.xml) { implicit request =>
if(/*request matches schema*/) //do something and return 200
else //throw exception
}
我的问题是:
200
。400
会满足吗? 500
之类的东西会更好吗?验证失败时是否有HTTP响应代码的最佳实践?我抛出的任何错误都是在函数调用.recover {...}
中使用myfunc
进行处理而最终用户只看到“服务不可用”页面,所以这只是出于调试目的而作为我的应用程序非常大,由多个微服务组成。