如何加入' id' Apigility中POST(创建)事件后响应中的实体(字段)?

时间:2015-01-26 09:55:24

标签: rest apigility

给出json字符串:

POST localhost:8080/person  
{
   f_name : 'Juan',  
   l_name : 'Dela Cruz'  
}

我们通常会在成功时返回布尔 true值,以便apigility返回/呈现如下内容:

200 Ok  
{  
    f_name : 'Juan',  
    l_name : 'Dela Cruz'  
}

如何在生成的响应中包含新创建的实体的id?它可能看起来像这样:

200 Ok  
{  
    id : 1,
    f_name : 'Juan',  
    l_name : 'Dela Cruz'  
}

非常感谢任何帮助/领导。

2 个答案:

答案 0 :(得分:0)

我在这里包括我自己的答案,但我认为这不是最好的方法。

我发现您还可以使用' id'从资源的创建(array)方法返回POST。字段取自db lastInsertValue对象的adapter属性并添加到array

$insert['f_name'] = 'Juan';  
$insert['l_name'] = 'Dela Cruz';

$table = new TableGateway('person', $adapter);
$table->insert($insert);

$insert['id'] = $table->lastInsertValue;

return $insert;

我希望还有其他方法可以做到这一点。

答案 1 :(得分:0)

Apigility确实会返回您发送的对象。如果你想获得不同的结果,你可以自己构建它并将其返回 javiniar.leonard也指出。

重要的是你不要尝试json_encode它,但让Apigility处理它。

我使用API​​发送在具有本地ID的应用中创建的项目,并返回本地ID和web_id以允许在多个设备上进行同步。