복붙노트

[SPRING] 스프링 통합 또는 Apache HTTP 클라이언트

SPRING

스프링 통합 또는 Apache HTTP 클라이언트

일부 데이터에 대해 REST 기반 외부 API 호출을 호출해야하는 스프링 응용 프로그램이 있습니다.

API의 데이터 형식은 JSON입니다.

내 질문은 다음 옵션 중 하나가 외부 api 전화를 더 좋고 가벼운 무게입니다

의견을 공유하십시오 ...

해결법

  1. ==============================

    1.다른 사람들이 언급했듯이 Spring RestTemplate과 Jersey Rest Client는 모두 작업을 수행 할 것입니다. 나는 둘 다 사용했다. 둘 다 Jackson과 IIRC에서 잘 작동하며 발견되면 자동으로 사용할 것입니다 (물론 봄철).

    다른 사람들이 언급했듯이 Spring RestTemplate과 Jersey Rest Client는 모두 작업을 수행 할 것입니다. 나는 둘 다 사용했다. 둘 다 Jackson과 IIRC에서 잘 작동하며 발견되면 자동으로 사용할 것입니다 (물론 봄철).

    Spring RestTemplate에 대한 장점 중 하나는 전송으로 Commons HTTP를 플러그인 할 수 있다는 것입니다. 그래서 이상한 헤더, 쿠키, 타임 아웃, 스레딩이있는 경우 Commons HTTP를 구성한 다음 RestTemplate에 넣을 수 있습니다.

    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
    restTemplate.setErrorHandler(new DefaultResponseErrorHandler());
    CommonsClientHttpRequestFactory f = new CommonsClientHttpRequestFactory();
    f.setReadTimeout(120 * 1000);
    

    요점은 Commons HTTP Client를 사용하는 것에 대해 생각하고 있다면 @Skaffman은 RestTemplate이 더 복잡한 무엇인가를 생각할 필요가 없다고 말합니다.

  2. ==============================

    2.Spring에는 RestTemplate (javadoc)이라는 클래스가있다. HTTP 처리를 숨기고 REST 스타일의 작업 인터페이스를 제공합니다. JSON과의 변환을위한 메시지 변환기 (이 경우 Spring은 Jackson 라이브러리를 지원한다)를 지원한다.

    Spring에는 RestTemplate (javadoc)이라는 클래스가있다. HTTP 처리를 숨기고 REST 스타일의 작업 인터페이스를 제공합니다. JSON과의 변환을위한 메시지 변환기 (이 경우 Spring은 Jackson 라이브러리를 지원한다)를 지원한다.

    Spring Integration은 이것에 대한 엄청난 과잉입니다. REST는 본질적으로 간단합니다. Commons HttpClient는 작동하지만 그 위에 추가 작업을해야합니다.

    RestTemplate 사용법 및 JSON 메시지 변환에 대한 Spring 문서 섹션을 참조하십시오.

  3. ==============================

    3.나는 봄 & 저지를 사용했다. Jersey는 JAX-RS 라이브러리와 함께 @ GET & @ POST & @PUT @DELETE 번들과 같은 주석을 사용하여 Spring을 사용하여 RESTful 웹 서비스를 쉽게 만들 수 있습니다.

    나는 봄 & 저지를 사용했다. Jersey는 JAX-RS 라이브러리와 함께 @ GET & @ POST & @PUT @DELETE 번들과 같은 주석을 사용하여 Spring을 사용하여 RESTful 웹 서비스를 쉽게 만들 수 있습니다.

  4. from https://stackoverflow.com/questions/6850344/spring-integration-or-apache-http-client by cc-by-sa and MIT license