java - 用于验证的 REST API 中的媒体类型

标签 java validation rest

我必须编写 Rest API 来对 Employee 等对象执行 CRUD 操作。

class Employee {

   String name;

   String id;

}

- 可以有更多字段,出于示例目的,我们仅考虑 2 个字段。

在创建和更新时可能会有很多验证,例如

  • 员工姓名和 ID 不能为空。

  • 名称不能超过 40 个字符。

  • id 只有字母。

在创建时,对于每次验证,我都必须向用户提供正确的消息。如果一项创建操作出现多次失败。我必须向用户显示所有消息。

我正在为此寻找一个好的设计解决方案。

最佳答案

既然你要求设计,我不会花时间为此添加代码,但想法应该是这样的:

  • 创建一个可以容纳错误的数据结构。最好是存储键值对的HashMap
  • 对于您要验证的每个参数,进行必要的检查。如果没事的话,一切都好。如果在某些方面出现错误,请向 HashMap 添加一个条目来描述错误。
  • 验证完成后,检查HashMap是否有条目。如果是,则存在错误,您不应创建用户而应返回错误响应。如果没有,那么您可以创建用户并返回成功响应。

数据结构可能如下所示(JSON 格式)

{
    "success": "no",
    "error": "validation_failed",
    "validation_errors": [
        {"name": "too long"},
        {"id": "invalid format, must be String"}
    ]
}

关于java - 用于验证的 REST API 中的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149111/

相关文章:

java - 使用 MSI 通过 AAD 访问 Azure Web 应用程序 Web 服务

java - 如何在java中获取所有网络接口(interface)并将信息存储在Java Map中

java - 尽管有正确的命名空间声明,我的 XSD 仍不验证 XML

java - 当直观的名称是保留关键字时,如何简洁地命名方法/变量?

node.js - sails.js - 独特的模型属性检查

PHP MYSQL 验证变量是数据库类型

REST API 中的 Java 空指针异常

api - Paypal - 使用 REST API 从沙盒切换到真实账户

java - 选择相同位置时禁用动画底部导航

java - jDateChoose 不起作用