环回4隐藏字段也隐藏其他字段

时间:2020-10-19 12:27:35

标签: node.js mongodb rest loopback loopback4

在环回4中;从REST端点查询数据时,隐藏带有查询变量(filter[fields][name]=false)的字段,还会从响应中隐藏其他属性。
由于我没有明确隐藏其他属性中的任何字段,因此我希望除我明确隐藏之外的所有字段都会作为响应返回。

这是我的模型(为简单起见,省略了id):

export class MyModel extends Entity {

  @property({
    type: 'string',
    required: true,
  })
  name: string;

  @property({
    type: 'string',
    required: true,
  })
  surname: string;

  [prop: string]: any;

  constructor(data?: Partial<GenericEntity>) {
    super(data);
  }
}

我已经通过REST端点创建了如下数据:

{
  "name": "Bilbo",
  "surname": "Baggins",
  "age": 111
}

我正在发出以下请求:

GET http://localhost:3000/myresource?filter[fields][surname]=false

输出如下:

[
  {
    "name": "Bilbo"
  }
]

预期输出为:

[
  {
    "name": "Bilbo",
    "age": 111
  }
]

谢谢。

环境:

数据库:MongoDB

lb4 --version

的输出
@loopback/cli version: 2.13.1

@loopback/* dependencies:
  - @loopback/authentication: ^6.0.1
  - @loopback/boot: ^2.5.1
  - @loopback/build: ^6.2.2
  - @loopback/context: ^3.10.1
  - @loopback/core: ^2.9.5
  - @loopback/metadata: ^2.2.6
  - @loopback/openapi-spec-builder: ^2.1.13
  - @loopback/openapi-v3: ^3.4.9
  - @loopback/repository-json-schema: ^2.4.10
  - @loopback/repository: ^2.11.2
  - @loopback/rest: ^6.2.0
  - @loopback/testlab: ^3.2.4
  - @loopback/docs: ^3.14.0
  - @loopback/example-hello-world: ^2.1.9
  - @loopback/example-log-extension: ^2.1.9
  - @loopback/example-rpc-server: ^2.1.9
  - @loopback/example-todo: ^3.7.2
  - @loopback/example-soap-calculator: ^2.4.2
  - @loopback/service-proxy: ^2.3.8
  - @loopback/http-caching-proxy: ^2.1.13
  - @loopback/http-server: ^2.2.0
  - @loopback/example-todo-list: ^3.5.2
  - @loopback/dist-util: ^0.4.0
  - @loopback/rest-explorer: ^2.2.10
  - @loopback/eslint-config: ^9.0.2
  - @loopback/example-express-composition: ^2.4.2
  - @loopback/example-greeter-extension: ^2.1.9
  - @loopback/booter-lb3app: ^2.2.9
  - @loopback/example-lb3-application: ^2.4.2
  - @loopback/example-greeting-app: ^2.2.7
  - @loopback/example-context: ^2.1.9
  - @loopback/repository-tests: ^0.12.13
  - @loopback/extension-health: ^0.4.13
  - @loopback/authorization: ^0.6.6
  - @loopback/rest-crud: ^0.8.13
  - @loopback/security: ^0.2.18
  - @loopback/authentication-passport: ^2.1.13
  - @loopback/example-metrics-prometheus: ^0.3.9
  - @loopback/extension-metrics: ^0.3.13
  - @loopback/model-api-builder: ^2.1.13
  - @loopback/extension-logging: ^0.3.13
  - @loopback/example-access-control-migration: ^2.2.2
  - @loopback/example-file-transfer: ^1.5.2
  - @loopback/example-rest-crud: ^1.6.2
  - @loopback/apiconnect: ^0.4.3
  - @loopback/example-validation-app: ^1.7.2
  - @loopback/cron: ^0.2.13
  - @loopback/example-multi-tenancy: ^0.6.2
  - @loopback/example-passport-login: ^1.5.5
  - @loopback/authentication-jwt: ^0.6.0
  - @loopback/context-explorer: ^0.1.13
  - @loopback/express: ^1.4.1
  - @loopback/example-todo-jwt: ^1.3.2
  - @loopback/mock-oauth2-provider: ^0.1.7
  - @loopback/pooling: ^0.2.2
  - @loopback/typeorm: ^0.1.3

0 个答案:

没有答案
相关问题