gpt4 book ai didi

node.js - 将自定义对象定义为环回模型的输入和输出

转载 作者:太空宇宙 更新时间:2023-11-04 02:04:07 24 4
gpt4 key购买 nike


我是 node.js 的新手,尝试使用环回框架创建一组 API。我的要求是接受 JSON 作为我的 API 的输入,并且我尝试在模型 JSON 文件中定义相同的内容。根据官方文档,loopback 支持 object 类型作为参数类型,但我不知道在哪里可以定义 JSON 对象结构。有人可以让我知道如何做到这一点吗?模型的相关片段如下:

"retrieveProfile": {
"description": "Returns back a particular entity's profile details",
"isStatic": true,
"accepts": [
{
"arg": "msg",
"type": "string",
"http": {
"source": "query"
}
}
],
"returns": {
"arg": "greeting",
"type": "string"
},
"http": {
"verb": "get"
}
}

最佳答案

我想出了这个。您可以在环回实例中将自定义对象定义为新模型。

假设您的环回实例中有以下两个模型(这是伪代码,尚未测试,但希望您能明白):

buildings.json

{
"name": "Buildings",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"rent": {
"type": "number"
}
}
}

tenants.json

{
"name": "Tenants",
"properties": {
"name": {
"type": "string"
}
}
}

确保在 model-config.json 中声明它们。如果您将这些模型连接到数据源,这仍然可以工作,但它们不必连接到数据源即可工作。我在 model-config.json 中声明它们,然后将数据源设置为 null

然后,当您创建远程方法时,您可以这样做

buildings.json

{
"name": "Buildings",
...
"methods": {
"chargeRent": {
"accepts": [
{
"arg": "tenant",
"type": "Tenants",
"required": true
}
],
"returns": {
"root": true,
"type": "object"
},
"http": {
"verb": "post"
}
}
}
}

显然,您可以根据需要配置远程方法,但最重要的部分是您定义的类型需要与模型名称匹配。

完成此操作后,如果您在 Loopback API 资源管理器中查看此方法,您应该会看到文档将自定义对象显示为该端点的参数。而且,根据您如何定义自定义对象的属性(即必需或不),如果不包含这些属性,则会抛出错误。

希望这有帮助!

关于node.js - 将自定义对象定义为环回模型的输入和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44943173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com