8

我想创建一个 Apigility REST 服务,它接受例如用户对象的 POST,该用户对象具有包含地址对象数组的字段。我可以在没有验证器的情况下定义字段并在我的代码中处理原始 JSON,但我想知道是否有更好的方法来执行此操作,其中嵌套对象也可以由 Apigility 验证?

4

1 回答 1

0

Apigility 有一个名为 content-validation 的模块——它允许您为服务配置输入过滤器,请求数据将通过输入过滤器进行验证,并在验证失败时返回适当的 ApiProblem 响应。(见https://apigility.org/documentation/api-primer/content-validation

这仍然让您有责任配置适合您需求的输入过滤器。

我会检查 packagist.org 的 JSON Schema 验证器库,它可以采用 JSON 模式和 JSON 有效负载,并验证有效负载是否根据模式正确形成。然后,您可以轻松实现自定义InputFilter并将其绑定到您的服务。这将验证主要对象和子对象的格式是否正确(即:用户具有姓名、电子邮件、出生日期和地址字段包含所有具有地址/街道/zip/等的对象)。

于 2015-04-28T20:38:58.510 回答