- 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} - setHeader: id: setHeader-6296 name: currentSqlString expression: simple: id: simple-914d expression: "{{sqlQueries.countUsersAdvanced}}" - process: id: process-4968 ref: sqlTemplateProcessor - to: id: to-f0bc uri: jdbc parameters: useHeadersAsParameters: true dataSourceName: postgresDatabase - 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} - setHeader: id: setHeader-68e3 name: currentSqlString expression: simple: id: simple-89c5 expression: "{{sqlQueries.getUsersAdvanced}}" - process: id: process-f123 ref: sqlTemplateProcessor - to: id: to-6e07 uri: jdbc parameters: useHeadersAsParameters: true dataSourceName: 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