adminСomponents
.get("searchСomponents", use: searchComponents)
.openAPI(
summary: "Поиск компонентов",
query: .all(
of: .type(of: GetInternalModel.example),
.type(of: PageRequest.example)
),
response: .type(
of: Page(
items: [ShortComponentModel.example],
metadata: .example
)
)
)
В роуте выше используется эта функция:
private func searchComponents(req: Request) async throws
-> Page<ShortComponentModel> {
let query = try req.query
.decode(GetInternalModel.self)
let componentModel =
try await Component
.query(on: req.db)
.filter(\.$name =~ query.name)
.paginate(for: req)
let componentPage = try componentModel.map { model in
try ShortComponentModel(model: model)
}
return componentPage
}
когда делаю запрос - выдает такую ошибку:
Abort.422: The parameter value could not be converted to the required type [request-id: BE67D909-2D2E-4449-9365-A018C74D9B29]
В чем проблема?
Но аналогичная функция, используящая ту же модель GetInternalModel.self
private func searchMeasurement(req: Request) async throws
-> Page<ShortMeasurementModel> {
let query = try req.query
.decode(GetInternalModel.self)
let measurementModel =
try await MeasurementType
.query(on: req.db)
.filter(\.$name =~ query.name)
.paginate(for: req)
let measurementPage = try measurementModel.map { model in
try ShortMeasurementModel(
model: model
)
}
return measurementPage
}
работает just fine
Или я дурак или лыжи не едут
Не могу понять хелп плиз
Стикер
Стикер
Обсуждают сегодня