擅长:python、mysql、java
<p>我是这样做的:</p>
<ul>
<li><p>使用POST方法创建新项,使用PUT方法更新项。</p></li>
<li><p>当收到请求时,首先使用棉花糖来验证数据。你可以用<a href="https://webargs.readthedocs.io/en/latest/" rel="nofollow noreferrer">webargs</a>来做这个。它由棉花糖开发团队维护。它抛出相应的HTTP错误(如果请求格式不正确,则为400;如果是正确的json,但验证失败,则为422)。</p></li>
<li><p>认沽期权没有普遍的规则。从资源的角度来看,放置在一个项目上意味着替换整个项目(而不是补丁)。这并不意味着它要替换数据库中的整个项,因为可能存在用户无法修改的字段(ID、created\u at、updated\u at或其他一些可能在另一个资源中公开的字段,这取决于具体情况)。你答案中的<code>update_to_db</code>方法看起来不错。</p></li>
</ul>
<p>注意:在写入数据库时,您仍然必须捕获潜在的错误(数据库连接错误、找不到项、完整性错误(无效外键),…),但至少验证会尽快进行。你知道吗</p>