275.6. 나머지 생산자 바인딩

REST 프로듀서에서는 JSon 또는 XML을 사용한 바인딩을 rest-dsl과 같이 지원합니다.

예를 들어 설정된 json 바인딩 모드와 함께 jetty를 사용하려면 나머지 구성에서 이 모드를 구성할 수 있습니다.

restConfiguration().component("jetty").host("localhost").port(8080).bindingMode(RestBindingMode.json);

from("direct:start")
  .to("rest:post:user");

그런 다음 rest producer를 사용하여 REST 서비스를 호출하면 REST 서비스를 호출하기 전에 rest producers를 json에 자동으로 바인딩합니다.

  UserPojo user = new UserPojo();
  user.setId(123);
  user.setName("Donald Duck");

  template.sendBody("direct:start", user);

위의 예제에서는 메시지 본문으로 UserPojo 인스턴스 UserPojo 를 보냅니다. 그리고 나머지 구성에서 JSon 바인딩을 사용했기 때문에 REST 서비스를 호출하기 전에ECDHE에서 JSon으로 마샬링됩니다.

그러나 응답 메시지에 대한 바인딩 (예: REST 서비스가 응답으로 다시 보내는 항목)에 대한 바인딩을 수행하려면 outType 옵션을 구성하여 JSon에서ECDHE에서 CoreDNS로 마칠의 클래스 이름을 해제하도록 지정해야 합니다.

예를 들어 REST 서비스에서 com.foo.MyResponsePojo 에 바인딩하는 JSon 페이로드를 반환하는 경우 다음과 같이 다음을 구성할 수 있습니다.

  restConfiguration().component("jetty").host("localhost").port(8080).bindingMode(RestBindingMode.json);

  from("direct:start")
    .to("rest:post:user?outType=com.foo.MyResponsePojo");
중요

REST 서비스 호출에서 수신한 응답 메시지에 대해ECDHE 바인딩이 발생하려면 outType 옵션을 구성해야 합니다.