플랫폼 기술-Java SDK 지침
환경 종속성
- Java SE/EE 1.5 이상(Android 플랫폼을 지원하지 않음)
- Apache Commons Logging
사용 예
Taobao의 현재 시스템 시간 가져오기
DefaultTaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret"); TimeGetRequest request = new TimeGetRequest(); TimeGetResponse response = client.execute(request); if (response.isSuccess()) { System.out.println(response.getBody()); }
단일 거래 세부정보 가져오기
DefaultTaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret"); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.setFields("tid,type,status,payment,orders"); req.setTid(123456789L); TradeFullinfoGetResponse rsp = client.execute(req, sessionKey); System.out.println(rsp.getBody());
실시간 메시지 알림 듣기
TmcClient client = new TmcClient("app_key", "app_secret", "default"); client.setMessageHandler(new MessageHandler() { public void onMessage(Message message, MessageStatus status) { try { System.out.println(message.getContent()); System.out.println(message.getTopic()); } catch (Exception e) { e.printStackTrace(); status.fail();// 消息处理失败回滚,服务端需要重发 } } }); client.connect("ws://mc.api.taobao.com/");
일괄 호출 API
BatchTaobaoClient client = new BatchTaobaoClient("http://gw.api.taobao.com/router/batch", "appkey", "appsecret"); TaobaoBatchRequest batch = new TaobaoBatchRequest(); TimeGetRequest timeRequest = new TimeGetRequest(); AppipGetRequest ipRequest = new AppipGetRequest(); batch.addRequest(timeRequest).addRequest(ipRequest); TaobaoBatchResponse response = client.execute(batch); System.out.println(response.getBody());
서비스 주소
API 서비스 주소
메시지 서비스 주소
고급 기능
응답 문자열을 객체로 해석하지 마세요( 이번에는 XxxResponse에 개체가 null이 포함되어 있습니다.)
DefaultTaobaoClient.setNeedEnableParser(false)
단순한 JSON 구조를 사용하여 반환, 중복 JSON 노드 제거
DefaultTaobaoClient.setUseSimplifyJson(true)
API 호출 로그 관리 취소
DefaultTaobaoClient.setNeedEnableLogger(false)
HTTPS 인증서 확인 무시(테스트 환경에서만 열도록 권장)
DefaultTaobaoClient.setIgnoreSSLCheck(true)
GZIP 압축 기능에 대한 응답 취소(GZIP 압축 기능은 네트워크 전송을 크게 줄일 수 있으므로 취소하지 않는 것이 좋습니다)
DefaultTaobaoClient.setUseGzipEncoding(false)
HTTP 연결 시간 초과 및 읽기 시간 초과 설정(네트워크 환경이 좋지 않을 경우 적절하게 늘릴 수 있음)
// HTTP连接默认超时时间为:3秒 // HTTP响应读默认超时时间为:15秒 DefaultTaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", connectTimeout, readTimeout)
API 호출 오류 자동 재시도(일반적으로 ISP 오류는 성공적으로 재시도 가능)
AutoRetryTaobaoClient client = new AutoRetryTaobaoClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret"); client.setMaxRetryCount(3); client.setRetryWaitTime(100L); TimeGetRequest request = new TimeGetRequest(); TimeGetResponse response = client.execute(request); if (response.isSuccess()) { System.out.println(response.getBody()); }
API 호출 가장 가까운 라우팅(API 호출이 이루어진 위치를 기준으로 호출할 가장 가까운 TOP 전산실 선택)
ClusterTaobaoClient client = new ClusterTaobaoClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret"); TimeGetRequest request = new TimeGetRequest(); TimeGetResponse response = client.execute(request); System.out.println(response.getBody());
주의사항
- TaobaoClient 구현 클래스 모두 스레드로부터 안전하므로 모든 API 요청에 대해 새로운 TaobaoClient 구현 클래스를 생성할 필요가 없습니다.
- TaobaoClient 구현 클래스의 인스턴스를 생성할 때 format=json을 지정합니다. xml과 비교합니다. 형식을 사용하면 데이터 전송량을 줄이고 API 요청의 효율성을 향상시킬 수 있습니다
FAQ
- 이 문서에 대한 FAQ는 아직 없습니다