给出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'
}
非常感谢任何帮助/领导。
答案 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以允许在多个设备上进行同步。