如何通过 Validation API 验证某些输入参数?

How to validate certain input parameters through a Validation API?

我有一个 API,我在其中对某些输入参数进行自己的验证。例如 -

    public Builder(int clientId) {
        TestUtils.assertNonNegative(clientId, "ClientId");
        this.clientId = clientId;
    }

    public Builder setUserId(String userid) {
        TestUtils.assertNotNull(userid, "UserId");
        this.userid = userid;
        return this;
    }

而我在TestUtilsclass中的assertNonNegativeassertNotNull方法是这样的-

public static void assertNonNegative(int val, String attr) {
    if (val <= 0) {
        s_logger.logError("Attribute = ", attr, " Value = ", val, " error=", attr, " cannot be negative or zero");
        throw new IllegalArgumentException(attr + " cannot be negative or zero");
    }
}

public static void assertNotNull(String value, String key) {
    if (value == null || value.isEmpty()) {
        s_logger.logError("Key = ", key, " Value = ", value, " error=", key,
                " cannot be NULL or empty String");
        throw new IllegalArgumentException(key + " cannot be null OR empty");
    }
}

我想知道在任何开源项目中是否有可用的验证 API 可以用来替代我拥有的上述内部方法?如果是,谁能提供一个例子,我将如何实现这一目标?我仍然需要返回与 IllegalArgumentException

相同的消息

我不明白你为什么要使用外部 API 来实现 nullOrEmpty 或非负数验证但是...

如果您想直接在数据库中验证用户的 ID Java app

这可能会让您感兴趣: http://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/

使用一些 PHP 并验证用户是否在数据库中。

if(isset($_GET['idcmd']))
{
    switch($_GET['idcmd'])
    {
        case 1:
                if(isset($_POST['iduser']))
                {
                    $sql= "SELECT idUser FROM users WHERE idUser=:iduser ";
                    $result = $db_conn->prepare($sql);
                    $result->bindParam(":iduser" ,$_POST['iduser']);
                    $result->execute();

                    $num=$result->fetchColumn();
                    if($num > 0){
                        echo "cool";
                    }else{
                        echo "nocool";
                    }
                }
        break;
    }
}

现在,如果您向 url www.mydomain.com/myapi.php?idcmd=1 发出 POST 请求并得到响应,这意味着用户在数据库中。

希望对您有所帮助。