fastify 无法使用流畅的 json 模式序列化响应模式 FST_ERR_SCH_SERIALIZATION_BUILD data.properties 应该是对象

问题描述

这是我的路线

app.patch(
  `/${root}/item/:itemId`,{
    schema: item_schema,},items // controller
);

这是我的架构文件

import schema from "fluent-json-schema";
const body = schema
  .object()
  .prop(
    "itemTitle",schema.string().required()
  );

const response = schema
  .object()
  .prop(
    "payload",schema
      .object()
      .prop("itemTitle",schema.string().required())
  );

export item_schema = {
  body,response,};

问题在于回复

"msg":"Failed building the serialization schema for PATCH: /v4/item/:itemId,due to error schema is invalid: data.properties should be object"

我尝试做出响应香草,它奏效

  const response = {
    response: {
      type: "object",properties: {
        payload: {
          type: "object",properties: {
            itemTitle: { type: "string" },required:["itemTitle"]
        },};

现在我正在尝试使用流畅的模式进行操作,但仍然出现错误

解决方法

缺少响应包装器:

const response = {
  response: schema
    .object()
    .prop(
      "payload",schema
        .object()
        .prop(
          "deactivation_reason",schema.string().maxLength(255).minLength(10)
        )
    ),};

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...