Spring Boot 使用Apache Camel Servlet组件获取状态为404的白色标签页

hfsqlsce  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(117)
  1. I am using Camel to provide a web service to other systems. I wrote a simple Camel consuming route to accept the http requests. I can successfully start the Camel application using Springboot. But When I access it through web browser. I always got HTTP 404 error

字符串
我使用的是Camel 4.2.0。这是我的POM:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <parent>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-parent</artifactId>
  9. <version>3.1.4</version>
  10. </parent>
  11. <groupId>com.camel.rest</groupId>
  12. <artifactId>testapp</artifactId>
  13. <version>1.0-SNAPSHOT</version>
  14. <properties>
  15. <camel.version>4.2.0</camel.version>
  16. <java.version>17</java.version>
  17. </properties>
  18. <dependencies>
  19. <dependency>
  20. <groupId>javax.servlet</groupId>
  21. <artifactId>javax.servlet-api</artifactId>
  22. <version>3.1.0</version>
  23. <scope>provided</scope>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework.boot</groupId>
  27. <artifactId>spring-boot-starter-web</artifactId>
  28. <version>3.1.4</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.apache.camel.springboot</groupId>
  32. <artifactId>camel-spring-boot-starter</artifactId>
  33. <version>${camel.version}</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.apache.camel</groupId>
  37. <artifactId>camel-jackson</artifactId>
  38. <version>${camel.version}</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>org.apache.camel.springboot</groupId>
  42. <artifactId>camel-servlet-starter</artifactId>
  43. <version>3.21.1</version>
  44. </dependency>
  45. </dependencies>
  46. <build>
  47. <plugins>
  48. <plugin>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-maven-plugin</artifactId>
  51. <configuration>
  52. <excludes>
  53. <exclude>
  54. <groupId>org.projectlombok</groupId>
  55. <artifactId>lombok</artifactId>
  56. </exclude>
  57. </excludes>
  58. </configuration>
  59. </plugin>
  60. </plugins>
  61. </build>
  62. </project>


我的application.properties:
camel.component.servlet.mapping.context-path=/*
服务器.端口=9090
我有一个简单的路线:

  1. @Component
  2. public class respRoute extends RouteBuilder {
  3. @Override
  4. public void configure() throws Exception {
  5. restConfiguration().component("servlet").port(9090).host("localhost").bindingMode(RestBindingMode.json);
  6. rest().get("/hello").produces(MediaType.APPLICATION_JSON_VALUE).to("direct:hello");
  7. from("direct:hello").transform().constant("Welcome buddy");
  8. }
  9. }


应用程序正确启动。我看到消息:Started route 1(rest://get:/hello)
但是当我调用http://localhost:9090/hello时,我总是得到状态404
这个问题已经困扰我几天了。任何帮助都将不胜感激。

pokxtpni

pokxtpni1#

尝试使用
http://localhost:9090/camel/hello
而不是
http://localhost:9090/hello
我遇到了类似的问题,在路径中添加“ Camel ”对我来说很有效。

相关问题