处理从测试端提交到服务端的内部对象值

时间:2013-12-18 11:53:34

标签: php api rest restler

Hi Restler / Swagger朋友, 尝试将具有内部对象值的对象的值提交给服务端时,我遇到了问题。 提交的对象值发生了什么但内部对象值没有提交给服务端或提交但未在服务端处理.....

如何提交内部对象值或允许服务端采用这些内部对象? 我需要在服务端更新php吗? 如果是的话我应该在哪里更新? 请指导我

我的测试课程如下:

    /**
     * POST
     * post Author
     *
     * @param {@type Author} $a
     *
     * @return Author
     */
    function postAuthor(Author $a) {
        return $a->p->fname." ".$a->name;
    }

//models
//inner object
class Person {

    /**
     * @var string {@from body} 
     * name of the Person {@required true}
     */
    public $fname = 'First name';

    /**
     * @var string {@from body}
     * last name of the Person {@required true}
     */
    public $lname = 'Last name';

    /**
     *  @var array $arr {@type array} array of IDs
     * {@required true}
     */
    public $arr = array();

}

//outer object
class Author {

    /** define person as inner object
     * @var Person $p {@type Person} {@from body} person of author 
     * 
     */
    public $p ;

    /**
     * @var string {@from body} 
     * name of the Author {@required true}
     */
    public $name = 'Name';

    /**
     * @var string {@type email} {@from body}
     * email id of the Author
     */
    public $email = 'name@domain.com';

}

当我使用json默认值填充值时,如下所示:

{
    "p":{
    "fname": "aa",
    "lname": "bb",
   },
    "name":"aa",
    "email":"aa@hotmail.com"
}

然后点击试试打印

{
  "p": {
    "fname": "First name",
    "lname": "Last name",
    "arr": []
  },
  "name": "aa",
  "email": "aa@hotmail.com"
}

这意味着提交了json但未处理内部对象值而未返回测试端。

1 个答案:

答案 0 :(得分:0)

我们刚刚在V3分支发布了一个修复此问题的更新。看看