1

以下に示すように、クエリ文字列パラメーター「hccid」を検証しようとしています。検証が機能していないようです。誰かが私が欠けているものを見ることができますか?

const fastify = require('fastify')({
  ajv: {
        removeAdditional: true,
        useDefaults:      true,
        coerceTypes:      true
    }
});


const schema = {
    querystring: {
       hccid: { type: 'string' }
    }
};

// Declare a route
 fastify.get('/hello', {schema}, function (request, reply) {
    const hccid = request.query.hccid;
    reply.send({ hello: 'world' })
});

// Run the server!
fastify.listen(3000, function (err) {
if (err) throw err
  console.log(`server listening on ${fastify.server.address().port}`)
});

abcしたがって、そのコードでは、以下に示すように、まったく新しい queryparam でサービスを呼び出すと、スキーマ検証例外が発生するはずです

http://localhost:3000/hello?abc=1

しかし、エラーはありませんでした。返事が返ってきました{"hello":"world"}

queryparam もまとめて削除してみましたhttp://localhost:3000/hello

そして私はまだ得た{"hello":"world"}

したがって、明らかに検証が機能していません。私のコードには何がありませんか? 任意の助けをいただければ幸いです。

4

2 に答える 2