📜  传递颜色 json api (1)

📅  最后修改于: 2023-12-03 15:22:06.210000             🧑  作者: Mango

传递颜色 JSON API

这个 JSON API 可以用来传递颜色信息。开发者可以通过发送请求来获取或者发送颜色数据。

请求

当开发者发送 GET 请求到 /colors 路径时,会得到一个包含了所有颜色的 JSON 响应。

GET /colors HTTP/1.1
Host: example.com
响应

响应会返回一个 JSON 格式的数组,其中包括了所有可用的颜色。数组中的每个对象都包含了三个属性:idnamehex

[
    {
        "id": 1,
        "name": "Red",
        "hex": "#FF0000"
    },
    {
        "id": 2,
        "name": "Green",
        "hex": "#00FF00"
    },
    {
        "id": 3,
        "name": "Blue",
        "hex": "#0000FF"
    }
]
参数
颜色 ID

开发者可以指定 ID 来获取一个具体的颜色。

GET /colors/1 HTTP/1.1
Host: example.com

响应会返回指定的颜色对象。如果找不到该 ID,则会返回 404 状态码。

{
    "id": 1,
    "name": "Red",
    "hex": "#FF0000"
}
颜色名称

开发者可以按照颜色名称来搜索颜色。

GET /colors?name=Red HTTP/1.1
Host: example.com

响应会返回包含了指定颜色名称的所有颜色对象。

[
    {
        "id": 1,
        "name": "Red",
        "hex": "#FF0000"
    }
]
发送颜色数据

开发者可以通过发送 POST 请求来添加新的颜色。请求需要指定颜色名称和颜色 HEX 值。

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

{
    "name": "Yellow",
    "hex": "#FFFF00"
}

响应会返回新添加的颜色对象,包括了自动生成的 ID。

{
    "id": 4,
    "name": "Yellow",
    "hex": "#FFFF00"
}
删除颜色数据

开发者可以通过发送 DELETE 请求来删除一个颜色。请求需要指定颜色 ID。

DELETE /colors/4 HTTP/1.1
Host: example.com

响应会返回空 204 状态码,表示删除成功。如果找不到该 ID,则会返回 404 状态码。

错误处理

如果请求中包含了无效的参数,或者无法找到指定的颜色 ID,则会返回 400 或者 404 状态码。错误响应会包含错误信息,以及相应的 HTTP 状态码。

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
    "error": "Parameter 'id' is not a number"
}