174.7. 소비자 예
이 샘플에서는 http://localhost:8080/myapp/myservice
에서 HTTP 서비스를 노출하는 경로를 정의합니다.
localhost 사용
URL에서 localhost
를 지정하면 Camel은 로컬 TCP/IP 네트워크 인터페이스에만 끝점을 노출하므로 작동하는 시스템 외부에서 액세스할 수 없습니다.
특정 네트워크 인터페이스에 Cryostatty 엔드포인트를 노출해야 하는 경우 이 인터페이스의 숫자 IP 주소를 호스트로 사용해야 합니다. 모든 네트워크 인터페이스에 192.0.2.ty 엔드포인트를 노출해야 하는 경우 0.0.0.0
주소를 사용해야 합니다.
전체 URI 접두사에서 수신 대기하려면 How do I let I let match wildcards 를 참조하십시오.
실제로 HTTP로 경로를 노출하고 이미 서블릿이 있는 경우 Servlet Transport 를 참조해야 합니다.
당사의 비즈니스 로직은 HTTP 요청 콘텐츠에 액세스하고 응답을 반환하는 MykeygenService
클래스에서 구현됩니다.
참고: 코드가 단위 테스트의 일부이므로 이 예제에서는 assert
호출이 표시됩니다.
다음 샘플은 URI 매개변수를 포함하는 모든 요청을 엔드포인트, mock:
및 기타 모든 요청을 one
mock:other
로 라우팅하는 콘텐츠 기반 경로를 보여줍니다.
따라서 클라이언트가 HTTP 요청 http://serverUri?one=hello
을 전송하는 경우 http://serverUri?one=hello 는 HTTP 요청 매개변수를 exchange의 in.header
에 복사합니다. 그런 다음
간단한
언어를 사용하여 이 헤더를 특정 끝점 및 기타 모든 헤더로 포함하는 교환을 라우팅할 수 있습니다. If we used a language more powerful than Simple (such as OGNL) we could also test for the parameter value and do routing based on the header value.