我有一个看起来像这样的对象:
interface LotteryData {
PROP1: string;
PROP2: string;
PROP3: string;
PROP4: string;
PROP5: string;
}
interface LotterySuccess {
name: string;
data: Array<LotteryData>;
}
我的架构是这样的:
const successResponseSchema = S.object()
.title('About 200 response')
.description('Some description')
.prop('name', S.string())
.definition('data', S.array());
使用邮递员时,我会取回名称,但不会取回数据。
我也试过:
const successResponseSchema = S.object()
.title('About 200 response')
.description('Some description')
.prop('name', S.string())
.prop('data', S.anyOf([S.object()]));
这里的数据是空的,我明白,因为我在一个数组而不是一个对象中发送回数据。
处理请求的处理程序如下所示:
const handler = async (req, reply) => {
const responseData = await fileManager();
const response: LotterySuccess = {
name: responseData.Name,
data: responseData.Data,
};
reply.send(response);
};
export default (server: FastifyInstance) =>
server.get<null>('/', opts, handler);
responseData.Data 具有正确的值,但我未能将我的成功模式与对象数组对齐。有任何想法吗?