获取更新的错误响应 api

getting error response for the Update api

我是这个 swagger 的新手,我在 node-js 中创建了一个小的演示项目来了解 swagger 的真正工作原理。我创建了 5 个 api,其中 4 个工作正常,当涉及到 PUT api 时,我收到错误,但是当我在邮递员中尝试时,它正在工作。请看下面的代码。

export let updateUser = async(req: Request, resp: Response) => {
        try{
            const use = await User.findById(req.params.id);
            use.name = req.body.name;
            // use.email = req.body.email;

            const a1 = await use.save();
            resp.json("successfully updated");

        } catch(err) {
            resp.send('Error')
        }
}

这是在 app.ts

中调用上述方法的 api
//put-request
app.put('/user/update/:id',controller.updateUser);

这是 put API

的招摇 json
"/user/update/{id}": {
    "put": {
        "tags": [
            "Update-Api"
        ],
        "summary": "Update-user",
        "description": "To updatre the particular user",
        "operationId": "updateUser",
        "consumes": ["application/json"],
        "parameters":[
            {
                "name":"Id",
                "in":"path",
                "description":"enter the id of the user",
                "required":true,
                "type":"string"
            },
            {
                "name":"body",
                "in":"body",
                "description":"Enter the update value",
                "required":true,
                "$schema": {
                    "type": "#/definations/User"
                }
            }
        ],
        "responses": {
            "400": {
                "description": "Invalid user supplied"
            },
            "404": {
                "description": "User not found"
            }
        }
    }
}

如果您将 API 定义粘贴到 https://editor.swagger.io,它会在 PUT 操作中标记 2 个语法错误。确保在测试 API.

之前修复这些错误
  1. 在参数定义中,将"name":"Id"改为"name":"id"(小写id)以匹配路径模板中的参数字母大小写。

  2. 在正文参数中,将$schema更改为schema