当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Rest控制器vs Camel Rest dsl

呼延明朗
2023-03-14

我正在开发一个新的应用程序,它是Spring Boot和camel。我将RESTendpoint作为该应用程序的一部分公开。

    null

你能帮我选择更好的方案吗?

共有1个答案

燕英逸
2023-03-14

这是您应该想要实现的调用,但是当您在spring boot中集成camel以便能够利用REST DSL camel组件并将这些流与Apache camel的其他组件绑定时,它将减少您在spring boot应用程序中在其他camels路由中发送和接收数据的额外工作。下面是一个使用apache camel组件的rest DSL的CRUD rest操作示例。

         rest("/users").description("User REST service")
                    .consumes("application/json")
                    .produces("application/json")
    
                    .get().description("Find all users").outType(User[].class)
                    .responseMessage().code(200).message("All users successfully returned").endResponseMessage()
                    .route()
                    .to("bean:userService?method=findUsers")
                    .endRest()
    
                    .get("/{id}").description("Find user by ID")
                    .outType(User.class)
                    .param().name("id").type(RestParamType.path).description("The ID of the user").dataType("integer").endParam()
                    .responseMessage().code(200).message("User successfully returned").endResponseMessage()
                    .route()
                    .to("bean:userService?method=findUser(${header.id})")
                    .endRest()
    
                    .post().description("Create a user").type(User.class)
                    .param().name("body").type(RestParamType.body).description("The user to create").endParam()
                    .responseMessage().code(204).message("User successfully created").endResponseMessage()
                    .to("bean:userService?method=create")
    }

您可以从这里查看spring boot和camel rest dsl的完整以上示例应用程序

 类似资料:
  • 我有一个rest控制器,它有简单的CRUD操作。我正在尝试编写集成测试。 下面是我的RestController: 我已经为RestController中的所有endpoint编写了集成测试 集成测试类:- 我的问题: 1.)当我把断点放在Rest控制器中时,它并没有停在那里,实际上它没有被调用。 2.)当我运行GET测试时,它会从响应返回登录html页面。getBody() 3.)当我运行POS

  • 在创建资源类和指定资源格输出式化后, 下一步就是创建控制器操作将资源通过 RESTful APIs 展现给终端用户。 Yii 提供两个控制器基类来简化创建 RESTful 操作的工作:yii\rest\Controller 和 yii\rest\ActiveController, 两个类的差别是后者提供一系列将资源处理成 Active Record 的操作。 因此如果使用 Active Recor

  • 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体 接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。 动作 控制器由 操作 组成,它是执行终端用户请求的最基础的单元, 一个控制器可有一个或多个操作。 如下示例显示包含两个动作view and create 的控制器post:

  • 简介 为了替代把所有的请求处理逻辑都定义在 routes.php 路由文件中,你或许想要使用控制来组织这些行为。控制器可以把相关的请求处理逻辑整合为一个控制器类。控制器类文件被存储在 app/Http/Controllers 目录下。 基础控制器 这里有一个基础控制器的示例。所有 Lumen 的控制器都应该继承 Lumen 安装时内置的默认的控制器基类: <?php namespace App\

  • 简介 为了代替在路由文件中以闭包的形式定义所有的请求处理逻辑,你也许想使用控制类来组织这些行为。控制器能够将相关的请求处理逻辑组成一个单独的类,控制器被存放在 app/Http/Controllers 目录下。 基础控制器 定义控制器 下面是一个基础控制器类的例子。需要注意的是,该控制器继承了一个Laravel内置的基础控制器类。该基础控制器提供了一些编辑的方法,比如 middleware 方法,

  • ThinkCMF目前分为两种控制器,前台和后台控制器; 无论是前台,还是后台控制器都位于应用的Controller目录下. 前台控制器一般继承 Common\Controller\HomebaseController,如果你需要用户登录才访问或操作此控制器,就要继承 Common\Controller\MemberbaseController; 我们来创建一个前台控制器: 在Blog应用Contr

  • 控制器文件默认放在 app/modules/{module}/actions 文件夹。 控制器的文件命名格式为 XxxxAction.class.php, 所有的控制器都必须继承基类控制器 herosphp\core\Controller, 基类控制器是抽象类: abstract class Controller extends Template { /** * 视图模板名称

  • Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为。