Kintoone에서 UPERT를 해보도록 하겠습니다.

7729 단어 UPSERTkintone
이번에는 킨톤 API로 UPRT를 해보고 싶어요.
SQL에서 말하는 UPSERT는 지정된 기록이 없으면 INSERT를 추가하고, 있으면 UPDATE를 추가하는 것을 말한다.kintoone에서 GET가 지정한 음반을 시도해 보세요. POST가 없으면 PUT가 이렇게 처리합니다.
편리한 도서관인 kintone JavaScript Client네, 그런데 이번에는 순수한 킨톤 REST API를 사용해 보세요.

어플리케이션 준비


세 개의 문자열 (한 줄) 필드를 준비합니다.
필드 유형
필드 코드
시험을 준비하다
문자열(단일행)
ID
중복 금지
문자열(단일행)
이름:
문자열(단일행)
좋아하는 음식
UPSERT

JavaScript


목록 공백에 세 개의 텍스트 상자와 단추를 삽입합니다
kintone UI Component 설정을 사용합니다.
그 방면은 아래의 내용을 참고하시오!
코드 내의 변수는 이런 느낌이다.
타입
변수 이름
컨텐트
스페이스 바
spUpsert
목록의 공백
Text
txtId
ID 입력용 텍스트 상자
Text
txtName
이름 입력에 사용
Text
txtFood
좋아하는 음식 입력용
Button
btn
UPERT 실행 버튼

버튼, 클릭


ASync를 추가하면 단추를 누르는 이벤트에서 비동기 처리를 할 수 있습니다.
btn.addEventListener("click", async (event) => {
  // 処理
});
GET를 사용하여 ID를 입력한 기록이 있는지 확인합니다.totalCount를 진짜로 설정합니다.
// 指定のIDのレコード取得してくる
const respGet = await kintone.api(kintone.api.url("/k/v1/records", true),
  "GET",
  {
    app: kintone.app.getId(),
    query: `ID="${txtId.value}"`,
    totalCount: true,
  }
);
음반이 있으면 업데이트하고 없으면 추가한다.
// レコードがあったら更新(PUT),なかったら追加(POST)する
if (respGet.totalCount > 0) {
  //PUT
} else {
  //POST
}

//表示の更新
location.reload();
업데이트(PUT) 시
※ 업데이트 키에서는 중복 금지 필드를 지정해야 합니다.
const respPut = await kintone.api(  kintone.api.url("/k/v1/record", true),
  "PUT",
  {
    app: kintone.app.getId(),
    updateKey: { field: "ID", value: txtId.value },
    record: {
      名前: { value: txtName.value },
      好きな食べ物: { value: txtFood.value },
    },
  }
);
추가(POST)
const respPost = await kintone.api(  kintone.api.url("/k/v1/record", true),
  "POST",
  {
    app: kintone.app.getId(),
    record: {
      ID: { value: txtId.value },
      名前: { value: txtName.value },
      好きな食べ物: { value: txtFood.value },
    },
  }
);
GET, PUT, POST가 조합된 UPERT, 참고가 된다면 기쁘겠습니다!

좋은 웹페이지 즐겨찾기