我一直在寻找使用Play Framework(2.2 Java)实现PATCH请求的好方法,但是还没有找到实现这一目标的好方法。使用PUT请求很有效,因为验证可以通过表单构建器运行,因为所有字段都是发送的,但由于PATCH不需要所有字段,因此不能使用表单构建器(据我所知)。我想知道用验证实现PATCH请求的最佳方法是什么?
对于上下文,请求是使用JSON而不是来自Web表单。如果我还有其他任何内容,请提前告知我们,谢谢!
答案 0 :(得分:0)
我没有专门针对Play做过这个,但对于其他本身不支持PATCH的框架,我自己使用POST作为动词实现了PATCH语义。
基本上,我这样做的方法是将POSTed数据视为资源的更新。然后,在将新数据绑定到现有资源之后,新版本将通过验证。
只要您将PATCH作为“部分更新”,并默认任何请求中不存在的字段,您就不应该在实现PATCH语义时遇到太多麻烦,因为几乎每个框架都支持“更新”的概念“(来自CRUD)。在这种情况下,您只是通过默认缺少字段来接管数据绑定。