我是apigility代码连接服务的新手&能够在mapper文件上使用fetch和fetchall类方法创建RESTful服务。
有人可以通过REST服务为我提供插入(POST)数据的好样本吗?
谢谢,
凯文
答案 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。这意味着在您的方法中,您不必担心输入尚未经过验证(只要您正确配置了验证器)。