0

与えられたjson文字列:

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

通常、成功時にブール true値を返すため、敏捷性は次のようなものを返す/レンダリングします。

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

id結果の応答に、新しく作成されたエンティティのも含めるにはどうすればよいですか? 次のようになります。

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

ヘルプ/リードは大歓迎です。

4

2 に答える 2

0

ここに私自身の答えを含めていますが、これは最善の方法ではないと思います。

リソースarrayの create() メソッドから を返すこともできることを発見しました。これには、dbオブジェクトのプロパティから取得され、.POSTlastInsertValueadapterarray

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

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

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

return $insert;

これを行う他の方法がまだあることを願っています。

于 2015-01-27T02:48:33.057 に答える
0

Apigility は実際に送信したオブジェクトを返します。別の結果を得たい場合は、それを自分で構築して返すことができます。

重要なのは、それを json_encode しようとせず、Apigility に処理させることです。

API を使用して、ローカル ID を持つアプリで作成されたアイテムを送信し、ローカル ID と web_id を返して、複数のデバイスで同期できるようにします。

于 2017-05-05T17:57:20.200 に答える