0

私は apigility コード接続サービスの初心者であり、マッパー ファイルで fetch および fetchall クラス メソッドを使用して RESTful サービスを作成することができました。

誰かがRESTサービスを介して挿入(POST)データの良いサンプルを教えてくれますか?

ありがとうございました、

ケビン

4

1 に答える 1

1

通常、POST は新しいリソースの作成に使用されます。これは、リクエストで次のヘッダーが必要になることを意味します。

Accept: application/json Content-Type: application/json

1 つ目は、Apigility が期待する応答の種類を伝えます。2 つ目は、API に提供するデータが json 形式になることを示しています。

Apigility は、戻り値にデフォルトで json または json+hal を使用し、着信データに json を期待します。

新しいリソースを作成するときは、通常、それをデータベースに永続化するため、リソースの ID がコードまたはデータベースによって生成されます。残りのリソースは、呼び出し元によって API に提供されます。例:

POST /api/user
{
    "username": "kevin voyce",
    "firstname": "kevin",
    "lastname":" "voyce"
}

これを行うと、次のような応答が表示されるはずです

405 - Method Not Allowed

エラーの本文は、メソッドが定義されていないことを示している必要があります。エラー メッセージは、リソースの create メソッドから来ています。このメソッド内に、$data という引数が表示されます。この時点では、JSON 本体を介して渡したものと一致するフィールドを持つ PHP stdClass で構成されます。

ここで、Apigility で API を構成するフィールド部分の出番です。フィールドの名前を設定し、フィールドにバリデーターを配置すると、Apigility は、渡されたフィールドがこれらに準拠し、それらに従って有効であることを確認します。 API への呼び出しが行われる前のバリデーター。同じことが POST だけでなく、PATCH と PUT にも当てはまります。これは、メソッド内で入力が検証されていないことを心配する必要がないことを意味します (バリデーターを正しく構成している限り)。

于 2015-05-14T05:42:09.227 に答える