JAVA REST

Java 실시간 업데이트 API 클라이언트를 다운로드하여 실시간 업데이트 구현을 시작할 수 있습니다.

선행 조건:

서비스 계정이 생성되면 비공개 키를 다운로드합니다.

시작하기:

  1. Java 클라이언트 라이브러리를 다운로드하고 파일의 압축을 풀어 'mapsbooking' 패키지를 가져옵니다.
  2. IDE에서 Java 프로젝트를 만들고 이 저장소에서 샘플 코드 InventoryUpdate.javaBookingNotification.java를 다운로드합니다.

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example

    src 디렉터리의 Java 프로젝트로 가져옵니다.

  3. 비공개 키 (JSON 파일)의 사본을 src 디렉터리에 만듭니다.
  4. Java 클라이언트 라이브러리를 프로젝트의 종속 항목에 추가합니다(mapsbooking 및 libs-sources 디렉터리에 jar 파일 포함).
  5. 두 Java 파일 모두에서 TODO에 따라 구현을 완료합니다.

REST API에 관한 자세한 내용은 여기에서 확인하실 수 있습니다.

문제 해결:

  1. 기존 merchantId 또는 serviceId로 새 판매자/서비스를 만들려고 하면 다음 오류 메시지가 표시됩니다.

    409 Conflict
    {
      code : 409,
      errors :
        [{
            domain : global,
            message : Requested entity already exists,
            reason : alreadyExists,
            debugInfo : detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      message : Requested entity already exists,
      status : ALREADY_EXISTS
    }
  2. 잘못된 merchantId 또는 serviceId로 replace availability를 호출하면 호출에서 오류 메시지가 발생하지 않습니다. 이는 RTU를 통한 어베일러빌리티 슬롯 변경사항이 순서가 지정되지 않은 실행을 지원하므로 merchantId 또는 serviceId와 연결되지 않기 때문입니다. 하지만 잘못된 merchantId 또는 serviceId로 인해 요청의 슬롯이 프로덕션에 게재되지 않습니다. 시간대를 제공할 수 있도록 하려면 RTU 또는 피드를 통해 누락된 판매자 또는 서비스를 추가하세요.
  3. 모든 업데이트 함수에서 업데이트할 필드를 지정하려면 매개변수 'updateMask'가 FieldMask 형식이어야 합니다. API는 마스크에 지정된 대로 필드의 값만 변경하고 나머지는 그대로 두어야 합니다. 잘못된 updateMask 문자열을 전달하면 업데이트가 적용되지 않습니다. 업데이트 시 필드 마스크가 없으면 모든 필드의 필드 마스크가 지정된 것처럼 모든 필드에 작업이 적용됩니다. 따라서 모든 필드를 업데이트하려면 updateMask를 비워 두면 됩니다.
  4. 값이 0인 필드는 응답에 표시되지 않습니다.