0

我是 apigility 代码连接服务的新手,并且能够使用映射器文件上的 fetch 和 fetchall 类方法创建一个 RESTful 服务。

有人可以为我指出一个通过 REST 服务插入(POST)数据的好示例吗?

谢谢,

凯文

4

1 回答 1

1

POST 通常用于创建新资源。这意味着在您的请求中,您将需要以下标头:

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

第一个告诉 Apigility 它期待什么样的响应。第二个表示您将提供给 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 的参数,此时它将包含一个 PHP stdClass,其中的字段与您通过 JSON 主体传入的内容相匹配。

这就是在 Apigility 中配置 API 的字段部分的用武之地。如果您设置字段的名称并将验证器放在字段上,Apigility 将确保传入的字段符合并根据这些有效在调用您的 API 之前的验证器。这不仅适用于 POST,也适用于 PATCH 和 PUT。这意味着在您的方法中,您不必担心输入尚未经过验证(只要您正确配置了验证器)。

于 2015-05-14T05:42:09.227 回答