0

I am new in using Fastify Js. I have this route that fails to validate the type of properties inside the nested object from inside the body schema.

fastify.put('/comment', {
        schema: {
            body: {
                type: 'object',
                required: ['from', 'body', 'courseCode'],
                properties: {
                    from: {
                        type: 'object',
                        required: ['email', 'username'],
                        properties: {
                            // this is the part where validation fails
                            email: { type: 'string' },   
                            username: { type: 'string' },
                        }
                    },
                    body: { type: 'string' },
                    courseCode: { type: 'string' },
                }
            }
        }
    }, async (req, rep) => {
        // logic
        return {someResponse};
    });

I am using REST Client extension in VSCode. This is my sample request

put http://localhost:3000/comment
Content-Type: application/json

{
    "from": {
        /* Notice the `email` and `username`, Fastify does not throw an error or some exception 
        that tells this is suppose to be a string and not an integer */
        "email": 3123, 
        "username": 123123
    },
    "body": "some comment from enginex",
    "courseCode": "d-c"
}

I also try using insomia.io and postman but the result is the same. Did I miss something important here? Thank You so much.

Eric Echemane
  • 131
  • 1
  • 6

0 Answers0