camel-test01/camel-jdbc-yml/user-manage.camel.yaml

464 lines
12 KiB
YAML
Raw Normal View History

2025-03-11 09:23:22 +08:00
- rest:
id: rest-07ff
description: 用户管理服务
path: /api/user
consumes: application/json
produces: application/json
enableCORS: true
delete:
- id: delete-f299
description: 删除用户
path: /users/{id}
to: direct:deleteUser
get:
- id: get-9c5f
description: 获取所有用户列表
path: /users
to: direct:getAllUsers
- id: get-8b43
description: 分页获取用户列
path: /users/page
to: direct:getPagedUsers
- id: get-d3ba
description: 高级条件分页查询用户列表
path: /users/search
to: direct:searchUsers
- id: get-d3be
description: 根据ID获取用户
path: /users/{id}
to: direct:getUserById
post:
- id: post-1d53
description: 创建新用户
path: /users
to: direct:createUser
put:
- id: put-db0e
description: 更新用户信息
path: /users/{id}
to: direct:updateUser
- route:
id: route-105a
nodePrefixId: route-a43
from:
id: from-16fb
uri: direct
parameters:
name: getAllUsers
steps:
- log:
id: log-6e8e
message: 获取所有用户
loggingLevel: INFO
logName: com.example.route.user
- setBody:
id: setBody-77bf
expression:
simple:
id: simple-2c02
expression: "{{sqlQueries.getAllUsers}}"
- to:
id: to-c4fc
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setHeader:
id: setHeader-d25f
name: operation
expression:
constant:
id: constant-2e75
expression: prepareUsersResponse
- process:
id: process-f54d
disabled: false
ref: userProcessor
- marshal:
id: marshal-e9a1
json:
id: json-0f7d
- route:
id: getPagedUsers
from:
id: from-5c0c
uri: direct
parameters:
name: getPagedUsers
steps:
- log:
id: log-31eb
message: "分页获取用户, 页码: ${header.page:1}, 每页大小: ${header.size:10}"
loggingLevel: INFO
logName: com.example.route.user
- setHeader:
id: setHeader-d9ec
name: operation
expression:
constant:
id: constant-1c9c
expression: preparePageParams
- process:
id: process-4371
ref: userProcessor
- setBody:
id: setBody-5589
expression:
simple:
id: simple-a8ff
expression: "{{sqlQueries.countUsers}}"
- to:
id: to-4340
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setProperty:
id: setProperty-f6b8
name: totalCount
expression:
simple:
id: simple-1f8a
expression: ${body[0][total]}
- setBody:
id: setBody-c884
expression:
simple:
id: simple-9c4f
expression: "{{sqlQueries.getUsersPaged}}"
- log:
id: log-90e9
message: ${header.limit}
- to:
id: to-0f55
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setHeader:
id: setHeader-1efb
name: operation
expression:
constant:
id: constant-2ee8
expression: preparePagedUsersResponse
- process:
id: process-554a
ref: userProcessor
- marshal:
id: marshal-a1c8
json:
id: json-5e5d
prettyPrint: true
library: Jackson
- route:
id: searchUsers
from:
id: from-47c2
uri: direct
parameters:
name: searchUsers
steps:
- log:
id: log-6ff5
message: "高级条件分页查询用户, 页码: ${header.page:1}, 每页大小: ${header.size:10}"
loggingLevel: INFO
logName: com.example.route.user
- setHeader:
id: setHeader-f797
name: operation
expression:
constant:
id: constant-f72a
expression: prepareAdvancedSearchParams
- process:
id: process-da37
ref: userProcessor
- log:
id: log-246f
message: ${body}
- to:
id: to-1647
uri: sql
parameters:
query: "{{sqlQueries.countUsersAdvanced}}"
dataSource: "#bean:postgresDatabase"
alwaysPopulateStatement: false
usePlaceholder: false
placeholder: "#"
- log:
id: log-82f8
message: ${body}
- setProperty:
id: setProperty-906d
name: totalCount
expression:
simple:
id: simple-e305
expression: ${body[0][total]}
- log:
id: log-7a44
message: ${body}
- to:
id: to-6e5c
uri: sql
parameters:
query: "{{sqlQueries.getUsersAdvanced}}"
dataSource: "#bean:postgresDatabase"
- setHeader:
id: setHeader-8430
name: operation
expression:
constant:
id: constant-c99d
expression: preparePagedUsersResponse
- process:
id: process-0298
ref: userProcessor
- marshal:
id: marshal-c907
json:
id: json-7acc
prettyPrint: true
library: Jackson
- route:
id: getUserById
from:
id: from-23ea
uri: direct
parameters:
name: getUserById
exchangePattern: InOut
bridgeErrorHandler: false
steps:
- setHeader:
id: setHeader-e275
name: id
expression:
simple:
id: simple-1c32
expression: ${header.id}
resultType: java.lang.Integer
- log:
id: log-c926
message: "获取用户, ID: ${header.id}"
loggingLevel: INFO
logName: com.example.route.user
- setBody:
id: setBody-7134
expression:
simple:
id: simple-f675
expression: "{{sqlQueries.getUserById}}"
- to:
id: to-8cfb
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setHeader:
id: setHeader-0daf
name: operation
expression:
constant:
id: constant-983d
expression: prepareUserResponse
- process:
id: process-17cb
ref: userProcessor
- marshal:
id: marshal-b95e
json:
id: json-a5d8
prettyPrint: true
library: Jackson
- route:
id: createUser
from:
id: from-1ec8
uri: direct
parameters:
name: createUser
steps:
- log:
id: log-35e9
message: 创建新用户
loggingLevel: INFO
logName: com.example.route.user
- setHeader:
id: setHeader-4c3c
name: operation
expression:
constant:
id: constant-8d18
expression: transformUserInput
- process:
id: process-245c
ref: userProcessor
- log:
id: log-240e
message: ${body}
- setHeader:
id: setHeader-9207
name: operation
expression:
constant:
id: constant-faa6
expression: prepareCreateUserParams
- process:
id: process-e775
ref: userProcessor
- setBody:
id: setBody-c7e8
expression:
simple:
id: simple-b71c
expression: "{{sqlQueries.createUser}}"
- to:
id: to-4bb8
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setHeader:
id: setHeader-0faa
name: id
expression:
simple:
id: simple-01ff
expression: ${body[0][id]}
resultType: java.lang.Long
- log:
id: log-15e9
message: ${body}
- to:
id: to-2c98
uri: direct
parameters:
name: getUserById
- route:
id: updateUser
from:
id: from-128b
uri: direct
parameters:
name: updateUser
steps:
- log:
id: log-14db
message: "更新用户, ID: ${header.id}"
loggingLevel: INFO
logName: com.example.route.user
- setHeader:
id: setHeader-4af3
name: userId
expression:
simple:
id: simple-12f9
expression: ${header.id}
- setHeader:
id: setHeader-a5ac
name: operation
expression:
constant:
id: constant-3706
expression: transformUserInput
- process:
id: process-12c8
ref: userProcessor
- setHeader:
id: setHeader-61a6
name: operation
expression:
constant:
id: constant-93f8
expression: prepareUpdateUserParams
- process:
id: process-e394
ref: userProcessor
- setBody:
id: setBody-4800
expression:
simple:
id: simple-0e51
expression: "{{sqlQueries.updateUser}}"
- to:
id: to-3638
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- to:
id: to-b2b2
uri: direct
parameters:
name: getUserById
- route:
id: deleteUser
from:
id: from-41af
uri: direct
parameters:
name: deleteUser
steps:
- log:
id: log-11fe
message: "删除用户, ID: ${header.id}"
loggingLevel: INFO
logName: com.example.route.user
- setHeader:
id: setHeader-b17d
name: id
expression:
simple:
id: simple-2279
expression: ${header.id}
resultType: java.lang.Integer
- setBody:
id: setBody-8640
expression:
simple:
id: simple-70e3
expression: "{{sqlQueries.deleteUser}}"
- to:
id: to-0b43
uri: jdbc
parameters:
dataSourceName: postgresDatabase
useHeadersAsParameters: true
- setBody:
id: setBody-568f
expression:
constant:
id: constant-531e
expression: "{\"message\": \"用户已成功删除\"}"
- route:
id: errorHandler
from:
id: from-e7fa
uri: direct
parameters:
name: errorHandler
steps:
- log:
id: log-1da4
message: "处理错误: ${exception.message}"
loggingLevel: ERROR
logName: com.example.route.error
- setHeader:
id: setHeader-4be1
name: operation
expression:
constant:
id: constant-59c3
expression: prepareErrorResponse
- process:
id: process-17a9
ref: userProcessor
- marshal:
id: marshal-5aec
json:
id: json-1ef9
prettyPrint: true
library: Jackson