POST dosn在yii2 restful API中工作

时间:2015-06-21 12:48:32

标签: php rest yii2

我用yii2 restful API解释说: http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html

并且在CURL中它可以正常用于GET和DELETE。 但是当我在CURL中使用它时:

curl -i -H "Accept:application/json" -H "Content-Type:application/json" 
-XPOST "my localhost path/customers"
-d '{"name": "xxxx", "family": "xxxx","mobile":"xxxxx","home":"xxxxx","work":"xxxx"}'

它只会在我的表格'客户'中插入自动增量字段" id"我的数据库中的其他字段是空的!

2 个答案:

答案 0 :(得分:1)

我不认为这与API功能有关,但相当确定这是一个安全属性"模型中的问题。

请查看this piece of documentation以确保您已将所有其他属性标记为安全。即使通过REST调用,这仍然是一个批量分配,遵循相同的规则。

基本上,您可以在验证规则中将其添加为safe(至少),也可以将其作为safeAttributes() - 结果的一部分返回。

答案 1 :(得分:0)

感谢。 我在我的模型类“Customer”中添加以下代码,它可以工作:

public function rules()
{
    return [
    [['name', 'family', 'mobile', 'home', 'work'], 'required'],
    [['name', 'family'], 'string', 'max' => 20],
    [['mobile', 'home', 'work'], 'string', 'max' => 11]
    ];
}