Apigility代码连接服务 - 用于POST方法

时间:2015-04-08 22:55:04

标签: rest apigility

我是apigility代码连接服务的新手&能够在mapper文件上使用fetch和fetchall类方法创建RESTful服务。

有人可以通过REST服务为我提供插入(POST)数据的好样本吗?

谢谢,

凯文

1 个答案:

答案 0 :(得分: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。这意味着在您的方法中,您不必担心输入尚未经过验证(只要您正确配置了验证器)。