173.7. 소비자 예
이 샘플에서는 HTTP 서비스를 노출하는 경로를 정의합니다. http://localhost:8080/myapp/myservice
:
localhost 사용
URL에 localhost
를 지정하면 Camel에서 로컬 TCP/IP 네트워크 인터페이스에서만 엔드포인트를 노출하므로 작동하는 시스템 외부에서 액세스할 수 없습니다.
특정 네트워크 인터페이스에 endpoint를 노출해야 하는 경우 이 인터페이스의 숫자 IP 주소를 호스트로 사용해야 합니다. 모든 네트워크 인터페이스에 끝점을 노출해야 하는 경우 0.0.0.0
주소를 사용해야 합니다.
전체 URI 접두사를 청취하려면 How do I let I let my match wildcards.를 참조하십시오.
실제로 HTTP로 경로를 노출하고 이미 서블릿이 있는 경우 대신 서블릿 전송(Serrvlet Transport )을 참조해야 합니다.
비즈니스 논리는 HTTP 요청 콘텐츠에 액세스한 다음 응답을 반환하는 MyECDHEService
클래스에서 구현됩니다.
참고: 코드가 단위 테스트의 일부이기 때문에 이 예제에 assert
호출이 표시됩니다.
다음 샘플에서는 URI 매개 변수, 하나, 끝점, mock:
로 포함하는 모든 요청을 라우팅하는 콘텐츠 기반 경로를 보여줍니다.
one
및 기타 모든 요청을 mock:
other
따라서 클라이언트가 HTTP 요청을 보내는 경우 http://serverUri?one=hello
,ECDHEty 구성 요소는 HTTP 요청 매개변수를 exchange의 in.header
에 복사합니다. 그런 다음
간단한
언어를 사용하여 이 헤더를 포함하는 교환을 특정 끝점으로 라우팅하고 다른 모든 것을 다른 언어로 라우팅할 수 있습니다. OGNL(예: OGNL)보다 강력한 언어를 사용한 경우 매개변수 값을 테스트하고 헤더 값에 따라 라우팅을 수행할 수도 있습니다. ???