오마이앱 가이드
  • 가이드
    • 오마이앱 시작하기
    • 가이드 사용법
    • 앱 만들기
      • 1. 웹 메뉴 만들기
      • 2. 데이터 항목 만들기
      • 3. 앱 메뉴 만들기
      • 4. 앱 화면 만들기
        • 패키지
          • [기본형] 쇼핑몰
          • 게시판형 커뮤니티
          • 거래 플랫폼
          • 가이드 with 유튜브
          • 그룹별 커뮤니티
          • 예약 시스템
          • 이미지형 이벤트 목록
          • 지역별 필터 및 검색 헤더
          • 키워드 선택 리뷰
          • 리워드 적립
          • 모임
          • 클래스 신청
          • 일정 관리
        • UI 패키지
          • 다른 유저 프로필 화면
        • 화면 구성
          • 헤더
          • 커스텀 헤더
          • 화면 구성 항목
          • 플로팅 아이템
          • 검색 구성 항목
          • 카드 스타일
          • 카드 플로팅
          • 댓글 설정
          • 답글 설정
          • 빈 화면
          • 커스텀 빈 화면
        • 블록
          • 레이아웃
            • 그리드
            • 플렉스
            • 리스트
            • 스와이프
          • 스위치
            • 스위치(조건)
            • 스위치(참/거짓)
          • 데이터 참조
            • 단건 관계
            • 다건 관계
            • listByMeta
            • dataByMeta
          • 텍스트
            • 텍스트
            • 멀티 라인 텍스트
            • 변수 텍스트
            • 마크다운
            • HTML 편집기
            • 전화번호
          • 숫자/날짜
            • 숫자
            • 금액
            • 숫자 편집기
            • 별점 평가
            • 범위 슬라이더
            • 날짜/시간
            • 날짜
            • 시간
          • 선택
            • 드롭다운 선택
            • 체크박스
            • 단일 항목 선택
            • 다중 항목 선택
          • 사진/동영상
            • 이미지
            • 단일 이미지
            • URL이미지
            • 비디오
            • 아이콘
            • 유튜브
          • 주소/지도/위치
            • 주소
            • 네이버 맵
            • 거리
          • 계산
            • countByMeta
            • 자바스크립트 기반 계산
          • 기타
            • 버튼
            • 구분선
            • 링크
            • SNS
            • reservation
            • 구글 광고
            • 프로그레스 바
            • 웹 뷰
          • 검색창
            • 텍스트 검색창
            • 단일 카테고리 검색창
            • 다중 카테고리 검색창
        • 옵션
        • 스타일
          • 글자
          • 여백
          • 테두리
          • 배경 색상
          • 배경 모서리 곡률
          • 정렬
          • 넓이
          • 높이
          • 비율
          • 라인 개수
          • 힌트
          • 그리드 컬럼 비율
          • 색상
      • 5. 명령/실행 기능 구현하기
        • 액션 타입
          • 데이터 등록/수정(upsert)
          • 데이터 수정(update)
          • 데이터 삭제(delete)
          • 목록 화면으로 이동(list)
          • 상세 화면으로 이동(read)
          • 데이터 등록 화면으로 이동(create)
          • 데이터 수정 화면으로 이동(edit)
          • 커스텀 화면으로 이동(multiList)
          • 해당 링크로 이동(link)
          • 1:1 채팅방으로 이동(makeDirectChatRoom)
          • 채팅 메뉴로 이동(chatList)
          • 현재 화면 닫기(뒤로가기)(dismiss)
          • 모든 화면 닫기(allDismiss)
          • 신고(report)
          • 연락처 가져오기(phoneBook)
          • 단일 연락처 가져오기(phoneBookSingle)
          • 바텀시트(bottomSheet)
          • 다이얼로그 팝업창(dialog)
          • 포트원 결제(iamportPayment)
          • 나이스 페이 결제(nicePayment)
          • 공유하기(share)
          • 파일 업로드(fileUpload)
          • 사운드(sound)
          • 클립보드에 복사(clipboard)
        • 체인
          • 변경(change)
          • 필터 조건(filter)
          • 정렬 항목(order)
          • 그룹 정렬(groupSort)
        • 로직 만들기
          • If When
            • Every set time
          • Condition
            • New data query
              • @setValue
              • @query
              • @if
              • @returnException
              • @for
              • @api
              • @operation
              • @afterAction
          • Then
            • Create Data
            • Updated Data
            • Delete Data
            • Send Push Notifications
            • Call the API
            • Modify Multiple Data Entries
            • Delete Multiple Data Entries
            • Send Email
            • Send a Text Message
            • If Data Exists, Modify / If Not, Create
            • API to DB
            • Custom Return Output
            • Message Return Output
            • Google Payment
            • Apple Payment
            • No Action
          • Util
            • 데이터 형 변환
      • 6. 변경 전 내용으로 되돌리기
        • 6-1. 서비스 초기화 방법
      • 7. 외부 기능 가져오기
      • 8. 환경 설정하기
      • 유의사항
      • 내가 만든 앱 공개하기
    • 앱 출시하기
      • Google Play에 앱 출시하기
        • 1. 구글 개발자 계정 등록
        • 2. 관리자 웹 Android 설정
        • 3. Firebase 프로젝트 생성
        • 4. Android 앱 등록
        • 5. 관리자 웹 Android 앱 빌드
        • 6. 플레이 콘솔 앱 생성
        • 7. 플레이 콘솔 앱 설정
        • 8. 앱 테스트
        • 9. 앱 게시하기
        • 선택사항
          • 애플 로그인 연동 (선택)
          • 카카오 로그인, api 연동 (선택)
          • 네이버 지도 연동 (선택)
      • App Store에 앱 출시하기
        • 1. 애플 개발자 계정 등록
        • 2. 번들 ID 생성
        • 3. Firebase iOS 앱 등록
        • 4. Firebase 푸시 알림
        • 5. 관리자 웹 iOS 설정
        • 6. 애플 로그인 설정
        • 7. iOS 앱 빌드
        • 8. iOS 앱 제출 준비
        • 9. 앱 정보 입력
          • 9-1. 일반 정보 - 앱 정보
          • 9-2. 일반 정보 - 가격 및 사용 가능 여부
          • 9-3 일반 정보 - 앱이 수집하는 개인정보
        • 10. 테스트플라이트로 앱 검토
        • 선택사항
          • 카카오 로그인, api 연동 (선택)
          • 네이버 지도 연동(선택)
          • 앱 심사 관리 (선택)
        • 11. 심사 제출
      • 참고 자료
        • 앱 아이콘/스크린샷
        • 약관 관리
      • 앱 업데이트
        • 강제 업데이트 방법
        • 최신 버전으로 앱 업데이트
    • 앱 운영하기
      • 사업자등록 신청
      • 상표권 등록
      • 결제 관리
      • 앱 업데이트하기
      • 대시보드 만들기
    • 자주 하는 질문
      • 앱 설정
        • 1. 내가 작성한 글만 모아보고 싶어요.
        • 2. '좋아요' 한 목록만 모아보고 싶어요.
        • 3. 좋아요/댓글 많은 순서로 정렬하고 싶어요.
        • 4. 최신순, 오래된 순 정렬은 어떻게 하나요?
        • 5. 관리자 웹과 앱의 댓글/답글 정렬 순을 통일하고 싶어요.
        • 6. 블록을 가로로 배치하고 싶어요.
        • 7. 단일 메타를 복합 메타로 변경하고 싶어요.
        • 8. 텍스트가 길 경우, •••으로 처리하고 싶어요.
        • 9. 데이터가 없을 때 나오는 문구를 수정하고 싶어요.(ex. 새로운 글이 없습니다.)
        • 10. 상단바에 알림 아이콘을 추가하고 싶어요.
        • 11. 게시글의 좋아요, 댓글 수를 표시하고 싶어요.
        • 12. 게시글 조회수를 표시하고 싶어요.
        • 13. 대표 썸네일 한장만 보이고 싶어요.
        • 14. 검색 블록을 사용하고 싶어요.
        • 15. 제목, 내용 이외에 닉네임으로도 검색하고 싶어요.
        • 16. 카테고리에 '전체'를 추가하고 싶어요.
        • 17. 데이터 총 개수를 표시하고 싶어요.
        • 18. 작성한 글을 작성자와 관리자 웹에서만 볼 수 있게 하고싶어요.
        • 19. 합계를 표현하고 싶어요.
        • 20. 날짜/시간 표현 방식을 바꾸고 싶어요.
        • 21. 버튼을 누르면 화면이 바뀌게 하고 싶어요.
        • 22. 사진이 화면에 안 나와요.
        • 23. 리뷰 평점을 계산하고 싶어요.
      • 액션
        • 1. 글 작성 버튼을 만들고 싶어요.
        • 2. 이미지 클릭 시 원하는 카테고리 목록을 보여주고 싶어요.
        • 3. 채팅하기 버튼을 만들고 싶어요.
        • 4. 인스타그램 링크를 연결하고 싶어요.
        • 5. 공유하기 기능을 사용하고 싶어요.
        • 6. 복합 메타에서 좋아요 기능을 사용하고 싶어요.
        • 7. 카카오 네비로 연결하고 싶어요.
      • 옵션
        • 1. 등록/수정 화면에 적용한 드롭다운 선택 옵션을 목록 화면에서도 보이게 하고 싶어요.
      • 로직
        • 1. 내 정보에서 수정한 데이터를 게시물에도 반영되게 하고 싶어요.
        • 2. 회원가입 즉시, 유저에게 등급을 주고 싶어요.
        • 3. 작성 글에 댓글이 달리면 푸시 알림을 발송하고 싶어요.
        • 4. 상점 리뷰 등록 시 기존 상점 리뷰의 총점을 수정하고 싶어요.
        • 5. 오픈 API를 연계하고 싶어요.
        • 6. 푸시 알람을 누르면 상세 화면으로 이동하게 하고 싶어요.
        • 7. 댓글 푸시를 만들고 싶어요.
        • 8. 입력된 데이터를 숫자(int) 형태로 변환하고 싶어요
        • 9. 순서대로 번호를 부여하고 싶어요.
      • 관리자 웹
        • 1. 데이터를 엑셀 파일로 다운로드 받고 싶어요.
        • 2. 샘플 계정, 임의의 계정을 만들고 싶어요.
      • 패키지
        • 2. [완성형 쇼핑몰 패키지 전용] 하나의 상품에 두가지 옵션을 만들고 싶어요.
      • 앱 출시
        • 1. 앱 빌드가 계속 진행중으로 나와요.
        • 2. 출시 후 SNS 로그인이 안돼요.
        • 3. 테스트 플라이트에서 앱이 바로 꺼져요.
        • 4. 앱 빌드가 실패했다고 나와요.
        • 5. iOS 앱 빌드 시 인증서 초과라는 알람이 옵니다.
      • 결제 연동
        • 1. 포트원 결제 연동은 어떻게 하나요?
        • 2. 나이스 페이먼츠 결제 연동은 어떻게 하나요?
        • 3. 페이팔 결제 연동은 어떻게 하나요?
        • 4. 다날 심사 받았는데 계속 테스트 결제만 돼요.
      • 기타
        • 1. 변경 사항 저장 후 확인해도 변경되지 않았어요.
        • 2. 메타 삭제를 어디에서 할 수 있나요?
        • 3. UI 패키지를 사용하고 싶어요.
        • 4. 앱 실행 시, 비회원도 앱을 이용할 수 있도록 로그인 화면을 없애고 싶어요.
        • 5. 트위터로 로그인하고 싶어요.
        • 6. 앱 사용 시, 차단 유저 관리는 어디서 할 수 있나요?
        • 7. 쿠폰은 어떻게 적용할 수 있나요?
        • 8. 권장 이미지 사이즈가 있나요?
        • 9. chatGPT API 크래딧 등록
        • 10. Android와 iOS 화면이 다르게 나와요.
    • 단어집
      • 데이터
      • 데이터베이스
      • 메타
      • 모드
      • 목록 화면
      • 등록/수정 화면
      • 상세 화면
      • 로직
      • 옵션
      • 옵션 명
      • 옵션 코드
      • 옵션 ID
      • 조건
      • 컬렉션 명
      • 항목
      • 항목 명
      • 항목 ID
      • 화면 구성 항목
  • 오마이앱 클래스
    • 👥크루 앱 만들기 프로젝트
    • 💡오마이앱 사용법 기초
    • 🥕당근마켓 앱 따라 만들기
      • 1. 데이터 항목 만들기
      • 2. 메뉴 탭 따라 만들기
      • 3. 목록 화면 따라 만들기
      • 4. 상세 화면 따라 만들기
      • 5. 등록/수정 화면 따라 만들기
      • 6. 채팅 탭 따라 만들기
      • 7. 내 정보 탭 따라 만들기
      • 8. 푸시 알림 따라 만들기
    • 🐶강아지 앱 따라 만들기
      • 1. 웹 메뉴 추가하기
      • 2. 데이터 항목 설정하기
      • 3. 옵션 설정하기
      • 4. 데이터 등록하기
      • 5. 앱 메뉴 추가하기
      • 6. 앱 화면 설정하기
        • 6-1 목록 화면 만들기
        • 6-2 상세 화면 만들기
        • 6-3 등록/수정 화면 만들기
        • 6-4 스타일 적용하기
        • 6-5 패키지 적용하기
        • 6-6 액션 설정하기
      • 7. 로직 설정하기
      • 8. 메타 되돌리기
      • 9. 환경 설정하기
    • 〽️로직 알아보기
      • 1. 로직 입문하기
      • 2. 푸시 알람 보내기
      • 3. 연결된 데이터 동기화하기
  • 실습 샘플 이미지
    • 동물병원
    • 반려동물
    • 배너
    • 상세 페이지
Powered by GitBook
On this page
  • 오픈 API는 어디서 찾을 수 있을까요?
  • 사용 방법
  1. 가이드
  2. 앱 만들기
  3. 5. 명령/실행 기능 구현하기
  4. 로직 만들기
  5. Then

API to DB

PreviousIf Data Exists, Modify / If Not, CreateNextCustom Return Output

Last updated 1 year ago

API는 날씨 정보나 상권 정보처럼 개인이 수집할 수 없는 공공의 데이터나 방대한 양의 데이터를 가져오고 싶을 때 사용해요. 그리고 네이버 검색 결과나 카카오페이처럼 그런 데이터로 만든 기능을 활용하고 싶을 때 사용해요.

오픈 API는 어디서 찾을 수 있을까요?

  1. , 국가가 공인하는 API 사례집.

  2. , 네이버 검색 결과 활용.

  3. , 카카오톡 기능 활용.

오픈 API는 문서마다 데이터를 제공하는 형식이 달라요. 그래서 여러 API를 연계해 보면서 점차 문서를 읽는 것에 익숙해지는 것을 추천해요.

가이드에서는 공공데이터포털에서 제공하는 질병관리청_코로나19 국내발생현황 조회 오픈 API를 연동해 볼게요.


사용 방법

  1. 사이트 접속해 주세요.

  2. 로그인 또는 회원가입해 주세요.

  3. 오픈 API 상세로 이동해 주세요.

  4. 오픈 API 활용 신청해 주세요.

  5. 우측 상단 마이페이지 ➡︎ 좌측 메뉴바 ➡︎ 데이터 활용 ➡︎ Open API ➡︎ 활용신청 현황으로 이동해 주세요.

  6. 활용신청 된 데이터 클릭해 주세요.

  7. 개발 계정 상세 보기 (참고문서 있을 시 다운로드)

  8. 관리자 웹 ➡︎ 로직 설정 ➡︎ '+' 버튼을 클릭하여 새로운 로직을 생성해 주세요.

  9. If When ➡︎ Data is created 를 입력, Then ➡︎ API to DB를 입력해 주세요.

  10. 아래의 빈 칸 작성 시, API 별로 정보를 제공하는 형식이 다르기 때문에 사용할 API에 맞게 입력해 주세요.

  • Request URL: 오픈 API를 요청하는 링크 주소로, End Point와 인증키를 참고문서에 따라 세팅해 주세요.(http://apis.data.go.kr/1790387/covid19CurrentStatusKorea/covid19CurrentStatusKoreaJason?serviceKey=%2B6XWTxnJr3AFoI4Z59YJO92R2cYKZxUIVp7r1S7F%2BMsiEhQyERVQOAj4vT9lEBvtqtUKiMXwaDOpbsiUV1LRdw%3D%3D)

  • Request Parameter : API 요청 시 필요한 정보를 담아서 같이 가져와주는 역할이에요. 예를 들어, 가져오고 싶은 데이터의 시작일과 종료일 또는 페이지 수 등이 있어요. 없을 시 비워두면 돼요.

  • Request Header : API 요청 시 필요한 숨은 정보를 담아서 같이 가져와주는 역할이에요. 예를 들어, 인증 정보(token) 등이 있어요. 없을 시 비워두면 돼요.

  • HTTP Method Type : API를 호출하는 방법이에요. 'GET'과 'POST'가 있는데, 대부분 'GET'을 사용해요.

  • Timeout : API 응답 대기 시간을 제한하는 역할이에요. 응답 대기 시간이 너무 길 경우, 앱 작동에 문제를 일으킬 수 있어요. 우선 비워뒀다가 문제 발생 시 설정하면 돼요. 시간은 초 단위로 설정해 주세요.

  • Collection to store data in : API 응답 데이터를 저장할 위치예요. 컬렉션명을 입력하면 돼요.

  • Where to get data from response : API 응답 데이터 안에서 가져올 배열 데이터의 위치예요. 저장할 데이터의 구조를 확인하고, 가져올 배열 데이터를 점 표기법으로 입력해 주세요.

  • Data Search Condition : 기존 데이터가 있을 시 업데이트 할 데이터를 찾는 검색 조건이에요. 세부 처리 조건에서 @query의 rawFind 와 같은 역할을 해요. 데이터를 계속 추가하고 싶으면 비워두면 돼요.

  • Data Entries : 컬렉션에 어떤 항목 ID로, 어떤 데이터 항목을 저장할 건지 설정하는 역할이에요. {"저장할 항목 ID" : "item.가져올 데이터 항목 ID"} 형식으로 입력해 주세요.

  1. 'Save' 버튼을 눌러 입력한 로직을 생성해 주세요.

  2. 확인

    1. 9번에서 "Where"에서 선택한 메타를 사용 중인 웹 메뉴 또는 앱 화면으로 이동해 주세요.

    2. 9번에서 "If When"에서 선택한 것에 따라, 데이터를 등록 or 수정 or 삭제를 해주세요.

    3. 'Collection to store data in'에서 선택한 컬렉션에 데이터가 잘 저장됐는지 확인해 주세요.

#로직, #오픈 API, # API 연계, #API to DB, #공공데이터포털

2023.08.28 Nana

API to Database (DB)

This function triggers the API and carries out the task of storing an arrangement of response values in the database.

2023.08.11 Song

공공데이터포털
네이버 API
카카오 API
공공데이터포털
질병관리청_코로나19 국내발생현황 조회
image URL