创建资源

并非所有人都同意资源创建的语义最正确的方法是什么。因此,你的 API 可以接受 POSTPUT 请求,或者其中之一。

如果资源已成功创建,服务器应使用 201 Created 进行响应。如果不是,请选择最合适的错误代码。

例如,如果你提供 API 来创建员工记录,请求/响应可能如下所示:

POST /employees HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "name": "Charlie Smith",
    "age": 38,
    "job_title": "Software Developer",
    "salary": 54895.00
}
HTTP/1.1 201 Created
Location: /employees/1/charlie-smith
Content-Type: application/json

{
    "employee": {
        "name": "Charlie Smith",
        "age": 38,
        "job_title": "Software Developer",
        "salary": 54895.00
        "links": [
            {
                "uri": "/employees/1/charlie-smith",
                "rel": "self",
                "method": "GET"
            },
            {
                "uri": "/employees/1/charlie-smith",
                "rel": "delete",
                "method": "DELETE"
            },
            {
                "uri": "/employees/1/charlie-smith",
                "rel": "edit",
                "method": "PATCH"
            }
        ]
    },
    "links": [
        {
            "uri": "/employees",
            "rel": "create",
            "method": "POST"
        }
    ]
}

在响应中包含 links JSON 字段使客户端能够访问与新资源和整个应用程序相关的资源,而无需事先知道它们的 URI 或方法。