Я установил базовую модель и контроллер, подключенный к базе данных mysql.Все выглядит хорошо и работает.
Моя модель определения выглядит следующим образом.
import { Entity, model, property } from '@loopback/repository';
@model({
settings: {
mysql: {
table: 'definition'
}
}
})
export class Definition extends Entity {
@property({
type: 'number',
id: true,
generated: true,
forceId: true,
required: false,
description: 'The unique identifier for a definition',
})
id: number;
@property({
type: 'string',
required: true,
})
name: string;
@property({
type: 'string',
required: true,
})
process_id: string;
constructor(data?: Partial<Definition>) {
super(data);
}
}
export interface DefinitionRelations {
// describe navigational properties here
}
export type DefinitionWithRelations = Definition & DefinitionRelations;
Когда я ее запускаю и запускаю и нажимаю на проводник, чтобы проверить ее.
Я нажимаю "Попробуйте"это "для получения / определения, и единственное редактируемое поле, которое становится активным, это поле фильтра.
Он заполняется значением, подобным этому ...
{
"where": {},
"fields": {
"id": true,
"name": true,
"process_id": true
},
"offset": 0,
"limit": 0,
"skip": 0,
"order": [
"string"
]
}
Я должен пояснить, что, чтобы заставить его работать, это нормально.Когда я запускаю его без фильтра, он возвращает эти результаты.
[
{
"id": 10,
"name": "Place Manual Payoff Order Process Config",
"process_id": "Process_PlaceManualPayoffOrderProcessConfig"
},
{
"id": 11,
"name": "test",
"process_id": "Test"
},
{
"id": 12,
"name": "test2",
"process_id": "test2"
}
]
Я пытаюсь использовать выражение фильтра, чтобы возвращать только те с определенным полем process_id.Поэтому я изменил фильтр так, чтобы он выглядел следующим образом.
{
"where": {"process_id": "test2"}
}
И он по-прежнему возвращает те же результаты.
[
{
"id": 10,
"name": "Place Manual Payoff Order Process Config",
"process_id": "Process_PlaceManualPayoffOrderProcessConfig"
},
{
"id": 11,
"name": "test",
"process_id": "Test"
},
{
"id": 12,
"name": "test2",
"process_id": "test2"
}
]
Работают ли фильтры в Loopback 4 или я их неправильно использую?
РЕДАКТИРОВАТЬ: если я публикую фильтры в строке URL, они работают.Похоже, что openapi ui не генерирует эту часть фильтра в строку URL.