我有一个表示从RESTful API返回的数据的类。返回的数据可能包含许多我想用我的对象表示的不同字段或数组。在创建对象时,我可能需要初始化20个不同的字段。其中一些字段可能为空,具体取决于我尝试返回的ID。我需要做一些基本的验证,以确保我只是初始化存在的值的字段。一个简单的空/空检查应该足够了,但我不想要很多重复的代码。
有没有办法通过魔术方法轻松完成此操作,还是需要使用某种辅助方法手动验证所有内容?
答案 0 :(得分:1)
带循环的数组
我的第一个想法是将我的所有字段放在一个数组中并使用循环验证它以检查数据的完整性, 但是真正特定的字段可能只有三个字符串值,或者一个具有3个可能值的整数,这种方法是不够的。
特定容器
因此,我在对象构造函数的所有字段中构建了具有特定测试的特定对象容器。 代码接缝非常沉重,但如果你逐个制作条件(不是级联),则非常简单明了。 您可以通过单元测试避免输入错误或复制过去的错误,如果缺少或错误,则取消对象的构造。
JSON验证
我假设您使用json或xml在代码和REST API之间交换数据, 接缝是显而易见的,但如果您获得所有信息,JSON验证首先会给出一个好主意。
希望它有所帮助
此致