使用@type的多个参数的PHP Restler API输入验证

问题描述:

I'm currently trying to validate som strings in a simple class:

  class followup
{

    /**
    *@url POST {varCvr}
    *
    *@param string $varText {@from path}
    *@param string $datTask {@from path}{@type datetime}
    *@param string $datRemind {@from path}{@type datetime}
    *
    */
    function post($varCvr, $varText, $datTask, $datRemind)
    { ......

When I try to POST to https://MyHost/followup/DK26851300?varText=Test&datTask=2015-12-04 14:20:07&datRemind=2015-12-11 11:00:00 (is URL_encoded, just to be human readable) I get the following Response:

{
"error": {
    "code": 400,
    "message": "Bad Request: Invalid value specified for `varText`. Expecting date and time in `YYYY-MM-DD HH:MM:SS` format, such as `2015-12-07 15:34:52`"
},
"debug": {
    "source": "Validator.php:430 at validate stage",
    "stages": {
        "success": [
            "get",
            "route",
            "negotiate"
        ],
        "failure": [
            "validate",
            "message"
        ]
    }
}

}

What is the reason for this? Thank you for your help!

I've solved the problem while adding @param to the 1st variable:

 /**
*@url POST {varCvr}
*@param string $varCvr {@from path}
*@param string $varText {@from path}
*@param string $datTask {@from path}{@type datetime}
*@param string $datRemind {@from path}{@type datetime}
*
*/