REST api管理字段最大字符的最佳做法是什么?

时间:2015-07-10 14:26:08

标签: asp.net rest asp.net-web-api

我有一个Web Api RESTful服务,它有一些POST端点可以将新对象插入数据库。我们希望将对象名称接受的最大字符数限制为20. DB,API或UI是否应该处理此问题?

显然,我们可以防止任何这些图层上超过20个字符。但是,如果它超过用户界面,则表单已提交。此时,我们希望服务层或数据库层返回有关未被接受的原因的信息性说明。处理这个问题的最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

  

DB,API或UI应该处理这个吗?

至少,您的API 必须处理数据验证。每个人都对REST应该如何工作有自己的看法,但一种好​​的方法是返回HTTP 400(错误请求),其中一些内容包含有关请求错误原因的信息。

客户端检查是一个明确的奖励。理想情况下,您甚至都不会在API层看到此代码受到攻击。客户还应该能够处理潜在的错误请求"以优雅的方式回应。如果API和客户端应用的规则之间存在不匹配,您将希望客户端识别其操作未成功,并显示相应的错误以帮助用户响应问题。

如果您允许数据​​通过批量导入或其他方式绕过您的API层,那么数据库级检查也是一个好主意。如果没有,那么如果您更改了验证要求,数据库可能只是您需要记住更改的一个地方。