我有一个REST API和一个使用该API的桌面客户端。桌面客户端中的一个屏幕是" building"的前端。或者"构建"一个相当复杂的实体的实例。
让我们称这个实体X
具有复杂的属性A
,B
和C
。复杂的含义,它们的数据类型作为一个实体没有意义,但由几个原始属性组成。
客户端应该能够将新创建的X
实例发布到服务器,但属性C
具有验证逻辑和,应该禁用启用创建的按钮C
具有有效值。
如何使用您不想在客户端重复的服务器端验证代码来构建REST API,以便在创建C
的上下文中验证X
? / p>
您不能只发布X
来检查它是否有效,因为如果是,您现在已经保存了X
的实例,并且可能客户端未进行编辑。您只想知道屏幕上的字段是否有效。
有些人似乎实施了"干运行" POST以查看验证是否会失败,但如果没有,则不保存任何内容。
我只是想知道是否有更好的解决方案?